laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauBlattWeisskopfFactor.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 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_BLATTWEISSKOPFFACTOR
22 #define LAU_BLATTWEISSKOPFFACTOR
23 
24 #include "Rtypes.h"
25 
26 class LauParameter;
27 class LauResonanceInfo;
28 
29 
31 
32  public:
34  enum BarrierType {
38  };
39 
42  Default, //*!< indicates that LauResonanceMaker should use the appropriate category for the given resonance */
43  Parent, //*!< indicates that this is the factor for the decay of the parent particle */
44  Indep, //*!< indicates that this resonance should be independent of all others */
45  Light, //*!< default category for light unflavoured states, e.g. rho(77), f0(980), etc. */
46  Kstar, //*!< default category for K* states */
47  Charm, //*!< default category for D* states */
48  StrangeCharm, //*!< default category for Ds* states */
49  Charmonium, //*!< default category for ccbar states */
50  Beauty, //*!< default category for B* states */
51  StrangeBeauty, //*!< default category for Bs* states */
52  CharmBeauty, //*!< default category for Bc* states */
53  Custom1, //*!< user-defined category */
54  Custom2, //*!< user-defined category */
55  Custom3, //*!< user-defined category */
56  Custom4 //*!< user-defined category */
57  };
58 
60  LauBlattWeisskopfFactor( const LauResonanceInfo& resInfo, const BarrierType barrierType, const BlattWeisskopfCategory category );
61 
63  LauBlattWeisskopfFactor( const LauResonanceInfo& resInfo, const Double_t resRadius, const BarrierType barrierType, const BlattWeisskopfCategory category );
64 
66  virtual ~LauBlattWeisskopfFactor();
67 
69 
72  LauBlattWeisskopfFactor* createClone( const UInt_t newSpin );
73 
75  const LauParameter* getRadiusParameter() const { return radius_; }
76 
79 
82 
84 
87  Double_t calcFormFactor( const Double_t p ) const;
88 
89  protected:
91  TString setRadiusName( const LauResonanceInfo& resInfo, const BlattWeisskopfCategory category );
92 
93  private:
95  LauBlattWeisskopfFactor( const LauBlattWeisskopfFactor& other, const UInt_t newSpin );
96 
99 
101  const UInt_t spin_;
102 
105 
108 
109  ClassDef(LauBlattWeisskopfFactor, 0)
110 };
111 
112 #endif
Class for defining the properties of a resonant particle.
LauBlattWeisskopfFactor(const LauResonanceInfo &resInfo, const BarrierType barrierType, const BlattWeisskopfCategory category)
Constructor.
Double_t calcFormFactor(const Double_t p) const
Calculate form factor value.
const LauParameter * getRadiusParameter() const
Retrieve the radius parameter.
LauParameter * radius_
Radius parameter.
LauParameter * getRadiusParameter()
Retrieve the radius parameter.
virtual ~LauBlattWeisskopfFactor()
Destructor.
const BarrierType barrierType_
Barrier type.
LauBlattWeisskopfFactor & operator=(const LauBlattWeisskopfFactor &other)
Copy assignment operator (not implemented)
Class for defining the fit parameter objects.
Definition: LauParameter.hh:34
BarrierType getBarrierType() const
Retrieve the barrier type.
BarrierType
Define the allowed types of barrier factors.
const UInt_t spin_
Resonance spin.
TString setRadiusName(const LauResonanceInfo &resInfo, const BlattWeisskopfCategory category)
Set the name of the radius parameter.
Class that implements the Blatt-Weisskopf barrier factor.
LauBlattWeisskopfFactor * createClone(const UInt_t newSpin)
Method to create a new factor with cloned radius parameter.
BlattWeisskopfCategory
Define resonance categories that will share common barrier factor radii.