laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauBlattWeisskopfFactor.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2014 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
35 #ifndef LAU_BLATTWEISSKOPFFACTOR
36 #define LAU_BLATTWEISSKOPFFACTOR
37 
38 #include "Rtypes.h"
39 
40 class LauParameter;
41 class LauResonanceInfo;
42 
43 
45 
46  public:
48  enum BarrierType {
52  };
53 
55  enum RestFrame {
59  };
60 
63  Default, //*!< indicates that LauResonanceMaker should use the appropriate category for the given resonance */
64  Parent, //*!< indicates that this is the factor for the decay of the parent particle */
65  Indep, //*!< indicates that this resonance should be independent of all others */
66  Light, //*!< default category for light unflavoured states, e.g. rho(77), f0(980), etc. */
67  Kstar, //*!< default category for K* states */
68  Charm, //*!< default category for D* states */
69  StrangeCharm, //*!< default category for Ds* states */
70  Charmonium, //*!< default category for ccbar states */
71  Beauty, //*!< default category for B* states */
72  StrangeBeauty, //*!< default category for Bs* states */
73  CharmBeauty, //*!< default category for Bc* states */
74  Custom1, //*!< user-defined category */
75  Custom2, //*!< user-defined category */
76  Custom3, //*!< user-defined category */
77  Custom4 //*!< user-defined category */
78  };
79 
81  LauBlattWeisskopfFactor( const LauResonanceInfo& resInfo, const BarrierType barrierType, const RestFrame restFrame, const BlattWeisskopfCategory category );
82 
84  LauBlattWeisskopfFactor( const LauResonanceInfo& resInfo, const Double_t resRadius, const BarrierType barrierType, const RestFrame restFrame, const BlattWeisskopfCategory category );
85 
87  virtual ~LauBlattWeisskopfFactor();
88 
90 
93  LauBlattWeisskopfFactor* createClone( const UInt_t newSpin );
94 
96  const LauParameter* getRadiusParameter() const { return radius_; }
97 
100 
103 
105  RestFrame getRestFrame() const { return restFrame_; }
106 
108 
111  Double_t calcFormFactor( const Double_t p ) const;
112 
113  protected:
115  TString setRadiusName( const LauResonanceInfo& resInfo, const BlattWeisskopfCategory category );
116 
117  private:
119  LauBlattWeisskopfFactor( const LauBlattWeisskopfFactor& other, const UInt_t newSpin );
120 
123 
125  const UInt_t spin_;
126 
129 
132 
135 
136  ClassDef(LauBlattWeisskopfFactor, 0)
137 };
138 
139 #endif
Class for defining the properties of a resonant particle.
const RestFrame restFrame_
Rest frame.
Double_t calcFormFactor(const Double_t p) const
Calculate form factor value.
const LauParameter * getRadiusParameter() const
Retrieve the radius parameter.
LauParameter * radius_
Radius parameter.
RestFrame getRestFrame() const
Retrieve the rest frame information.
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:49
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.
RestFrame
Define the rest frame in which the momentum should be calculated (only relevant for bachelor) ...
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.
LauBlattWeisskopfFactor(const LauResonanceInfo &resInfo, const BarrierType barrierType, const RestFrame restFrame, const BlattWeisskopfCategory category)
Constructor.