laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauResonanceInfo.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2006 - 2014.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
19 #ifndef LAU_RESONANCE_INFO
20 #define LAU_RESONANCE_INFO
21 
22 #include <iosfwd>
23 #include <set>
24 
25 #include "TString.h"
26 
28 
29 class LauParameter;
30 
31 
33 
34  public:
36 
45  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);
46 
48  virtual ~LauResonanceInfo();
49 
51 
54  TString getName() const {return name_;}
55 
57 
63  TString getSanitisedName() const {return sanitisedName_;}
64 
66 
69  LauParameter* getMass() const {return mass_;}
70 
72 
75  LauParameter* getWidth() const {return width_;}
76 
78 
81  UInt_t getSpin() const {return spin_;}
82 
84 
87  Int_t getCharge() const {return charge_;}
88 
90 
94 
96 
99  Double_t getBWRadius() const {return bwRadius_;}
100 
102 
106 
108 
115  LauResonanceInfo* createSharedParameterRecord( const TString& name );
116 
118 
121  LauParameter* getExtraParameter( const TString& parName );
122 
124 
128  void addExtraParameter( LauParameter* param, const Bool_t independentPar = kFALSE );
129 
130  protected:
132 
136  void addCloneOfExtraParameter( LauParameter* param, const Bool_t copyNotClone = kFALSE );
137 
138  private:
140  LauResonanceInfo( const LauResonanceInfo& other );
141 
143  LauResonanceInfo( const LauResonanceInfo& other, const TString& newName, const Int_t newCharge );
144 
147 
149  void sanitiseName();
150 
152  TString name_;
153 
155  TString sanitisedName_;
156 
159 
162 
164  UInt_t spin_;
165 
167  Int_t charge_;
168 
171 
173  Double_t bwRadius_;
174 
177 
179  std::vector<LauResonanceInfo*> sharedParRecords_;
180 
182  std::set<LauParameter*> extraPars_;
183 
184  ClassDef(LauResonanceInfo, 0) // Specify each allowed resonance
185 
186 };
187 
188 std::ostream& operator<<( std::ostream& stream, const LauResonanceInfo& infoRecord );
189 
190 #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:43
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:35
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.