laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauResonanceInfo.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2006 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
33 #ifndef LAU_RESONANCE_INFO
34 #define LAU_RESONANCE_INFO
35 
36 #include <iosfwd>
37 #include <set>
38 
39 #include "TString.h"
40 
42 
43 class LauParameter;
44 
45 
47 
48  public:
50 
59  LauResonanceInfo(const TString& name, const Double_t mass, const Double_t width, const Int_t spin, const Int_t charge, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius = 4.0);
60 
62  virtual ~LauResonanceInfo();
63 
65 
68  TString getName() const {return name_;}
69 
71 
77  TString getSanitisedName() const {return sanitisedName_;}
78 
80 
83  LauParameter* getMass() const {return mass_;}
84 
86 
89  LauParameter* getWidth() const {return width_;}
90 
92 
95  UInt_t getSpin() const {return spin_;}
96 
98 
101  Int_t getCharge() const {return charge_;}
102 
104 
108 
110 
113  Double_t getBWRadius() const {return bwRadius_;}
114 
116 
120 
122 
129  LauResonanceInfo* createSharedParameterRecord( const TString& name );
130 
132 
135  LauParameter* getExtraParameter( const TString& parName );
136 
138 
142  void addExtraParameter( LauParameter* param, const Bool_t independentPar = kFALSE );
143 
144  protected:
146 
150  void addCloneOfExtraParameter( LauParameter* param, const Bool_t copyNotClone = kFALSE );
151 
152  private:
154  LauResonanceInfo( const LauResonanceInfo& other );
155 
157  LauResonanceInfo( const LauResonanceInfo& other, const TString& newName, const Int_t newCharge );
158 
161 
163  void sanitiseName();
164 
166  TString name_;
167 
169  TString sanitisedName_;
170 
173 
176 
178  UInt_t spin_;
179 
181  Int_t charge_;
182 
185 
187  Double_t bwRadius_;
188 
191 
193  std::vector<LauResonanceInfo*> sharedParRecords_;
194 
196  std::set<LauParameter*> extraPars_;
197 
198  ClassDef(LauResonanceInfo, 0) // Specify each allowed resonance
199 
200 };
201 
202 std::ostream& operator<<( std::ostream& stream, const LauResonanceInfo& infoRecord );
203 
204 #endif
Int_t getCharge() const
Retrieve the charge of the resonant particle.
LauParameter * width_
The width of the resonant particle.
TString getName() const
Retrieve the name of the resonant particle.
std::vector< LauResonanceInfo * > sharedParRecords_
Other info objects that share parameters with this one.
Double_t bwRadius_
The Blatt-Weisskopf radius of the resonant particle.
LauBlattWeisskopfFactor::BlattWeisskopfCategory getBWCategory() const
Retrieve the BW category of the resonant particle.
UInt_t spin_
The spin of the resonant particle.
LauParameter * getMass() const
Retrieve the mass of the resonant particle.
LauResonanceInfo * conjugate_
The conjugate info object.
Class for defining the properties of a resonant particle.
TString getSanitisedName() const
Retrieve the sanitised name of the resonant particle.
LauParameter * getWidth() const
Retrieve the width of the resonant particle.
Double_t getBWRadius() const
Retrieve the BW radius of the resonant particle.
LauParameter * mass_
The mass of the resonant particle.
TString sanitisedName_
The name of the resonant particle with illegal characters removed.
LauResonanceInfo(const TString &name, const Double_t mass, const Double_t width, const Int_t spin, const Int_t charge, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius=4.0)
Constructor.
UInt_t getSpin() const
Retrieve the spin of the resonant particle.
Int_t charge_
The charge of the resonant particle.
File containing declaration of LauBlattWeisskopfFactor class.
std::ostream & operator<<(std::ostream &os, const LauComplex &z)
Definition: LauComplex.cc:57
void sanitiseName()
Create the sanitised name by removing characters that are illegal in TBranch names.
LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory_
The Blatt-Weisskopf barrier factor category.
TString name_
The name of the resonant particle.
LauResonanceInfo & operator=(const LauResonanceInfo &other)
Copy assignment operator (not implemented)
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
LauParameter * getExtraParameter(const TString &parName)
Retrieve an extra parameter of the resonance.
virtual ~LauResonanceInfo()
Destructor.
void addCloneOfExtraParameter(LauParameter *param, const Bool_t copyNotClone=kFALSE)
Add a clone of an extra parameter of the resonance.
BlattWeisskopfCategory
Define resonance categories that will share common barrier factor radii.
std::set< LauParameter * > extraPars_
Extra parameters.
LauResonanceInfo * createChargeConjugate()
Create the charge conjugate particle info record.
LauResonanceInfo * createSharedParameterRecord(const TString &name)
Create another record that will share parameters with this one.
void addExtraParameter(LauParameter *param, const Bool_t independentPar=kFALSE)
Add an extra parameter of the resonance.