laura is hosted by Hepforge, IPPP Durham
Laura++  v3r1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauResonanceMaker.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 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 
21 #ifndef LAU_RESONANCE_MAKER
22 #define LAU_RESONANCE_MAKER
23 
24 #include <iosfwd>
25 #include <vector>
26 
27 #include "TString.h"
28 
29 #include "LauAbsResonance.hh"
30 
31 class LauDaughters;
32 class LauResonanceInfo;
33 
34 
36 
37  public:
39  static LauResonanceMaker& get();
40 
42 
52 
54 
58  void setDefaultBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius);
59 
61 
65  void fixBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Bool_t fixRadius);
66 
68 
72  Int_t resTypeInt(const TString& name) const;
73 
75 
78  UInt_t getNResDefMax() const {return nResDefMax_;}
79 
81 
84  void printAll( std::ostream& stream ) const;
85 
87 
91  LauResonanceInfo* getResInfo(const TString& resName) const;
92 
93  protected:
95  void createResonanceVector();
96 
99 
100  private:
103 
105  virtual ~LauResonanceMaker();
106 
108  LauResonanceMaker( const LauResonanceMaker& other );
109 
112 
115 
117  UInt_t nResDefMax_;
118 
120  std::vector<LauResonanceInfo*> resInfo_;
121 
123  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,LauBlattWeisskopfFactor*> BWFactorCategoryMap;
125 
127  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,Double_t> BWRadiusCategoryMap;
129 
131  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,Bool_t> BWRadiusFixedCategoryMap;
133 
135  std::vector<LauBlattWeisskopfFactor*> bwIndepFactors_;
136 
137  ClassDef(LauResonanceMaker,0) // Kinematic routines
138 };
139 
140 #endif
std::map< LauBlattWeisskopfFactor::BlattWeisskopfCategory, LauBlattWeisskopfFactor * > BWFactorCategoryMap
The Blatt-Weisskopf factor objects for each category.
BWRadiusFixedCategoryMap bwFixRadii_
BWRadiusCategoryMap bwDefaultRadii_
BWFactorCategoryMap bwFactors_
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
static LauResonanceMaker * resonanceMaker_
The singleton instance.
std::vector< LauResonanceInfo * > resInfo_
The known resonances.
UInt_t getNResDefMax() const
Retrieve the number of defined resonances.
void fixBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Bool_t fixRadius)
Fix or release the Blatt-Weisskopf barrier radius for the given category.
LauAbsResonance * getResonance(const LauDaughters *daughters, const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default, const LauBlattWeisskopfFactor::BarrierType bwType=LauBlattWeisskopfFactor::BWPrimeBarrier)
Create a resonance.
Int_t resTypeInt(const TString &name) const
Retrieve the integer index for the specified resonance.
void setDefaultBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius)
Set the BW radius for the given category.
Singleton factory class for creating resonances.
void createResonanceVector()
Create the list of known resonances.
void printAll(std::ostream &stream) const
Print the information records, one per line, to the requested stream.
std::vector< LauBlattWeisskopfFactor * > bwIndepFactors_
The Blatt-Weisskopf factor objects for resonances in the independent category.
virtual ~LauResonanceMaker()
Destructor.
LauResonanceModel
Define the allowed resonance types.
LauResonanceMaker()
Constructor.
BarrierType
Define the allowed types of barrier factors.
LauBlattWeisskopfFactor * getBWFactor(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const LauResonanceInfo *resInfo, const LauBlattWeisskopfFactor::BarrierType bwType)
Retrieve Blatt-Weisskopf factor for the given category.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
std::map< LauBlattWeisskopfFactor::BlattWeisskopfCategory, Bool_t > BWRadiusFixedCategoryMap
The fixed/floating status of the radius for each Blatt-Weisskopf category.
File containing declaration of LauAbsResonance class.
std::map< LauBlattWeisskopfFactor::BlattWeisskopfCategory, Double_t > BWRadiusCategoryMap
The default radius for each Blatt-Weisskopf category.
Class that implements the Blatt-Weisskopf barrier factor.
BlattWeisskopfCategory
Define resonance categories that will share common barrier factor radii.
UInt_t nResDefMax_
The number of known resonances.
LauResonanceMaker & operator=(const LauResonanceMaker &other)
Copy assignment (not implemented)
LauResonanceInfo * getResInfo(const TString &resName) const
Get the information for the given resonance name.