laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0p1
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 
86  protected:
88  void createResonanceVector();
89 
92 
93  private:
96 
98  virtual ~LauResonanceMaker();
99 
101  LauResonanceMaker( const LauResonanceMaker& other );
102 
105 
108 
110  UInt_t nResDefMax_;
111 
113  std::vector<LauResonanceInfo*> resInfo_;
114 
116  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,LauBlattWeisskopfFactor*> BWFactorCategoryMap;
118 
120  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,Double_t> BWRadiusCategoryMap;
122 
124  typedef std::map<LauBlattWeisskopfFactor::BlattWeisskopfCategory,Bool_t> BWRadiusFixedCategoryMap;
126 
128  std::vector<LauBlattWeisskopfFactor*> bwIndepFactors_;
129 
130  ClassDef(LauResonanceMaker,0) // Kinematic routines
131 };
132 
133 #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)