laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
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 
127  void addExtraParameter(LauParameter* param);
128 
129  protected:
131 
135 
136  private:
138  LauResonanceInfo( const LauResonanceInfo& other );
139 
141  LauResonanceInfo( const LauResonanceInfo& other, const TString& newName, const Int_t newCharge );
142 
145 
147  void sanitiseName();
148 
150  TString name_;
151 
153  TString sanitisedName_;
154 
157 
160 
162  UInt_t spin_;
163 
165  Int_t charge_;
166 
169 
171  Double_t bwRadius_;
172 
175 
177  std::vector<LauResonanceInfo*> sharedParRecords_;
178 
180  std::set<LauParameter*> extraPars_;
181 
182  ClassDef(LauResonanceInfo, 0) // Specify each allowed resonance
183 
184 };
185 
186 std::ostream& operator<<( std::ostream& stream, const LauResonanceInfo& infoRecord );
187 
188 #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.
void addCloneOfExtraParameter(LauParameter *param)
Add a clone of an extra parameter of the resonance.
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:34
LauParameter * getExtraParameter(const TString &parName)
Retrieve an extra parameter of the resonance.
virtual ~LauResonanceInfo()
Destructor.
void addExtraParameter(LauParameter *param)
Add 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.