laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
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 #include "TString.h"
40 
41 class LauParameter;
42 class LauResonanceInfo;
43 
45 
46  public:
48  enum BarrierType {
51  ExpBarrier
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 
82  const BarrierType barrierType,
83  const RestFrame restFrame,
84  const BlattWeisskopfCategory category );
85 
88  const Double_t resRadius,
89  const BarrierType barrierType,
90  const RestFrame restFrame,
91  const BlattWeisskopfCategory category );
92 
94  LauBlattWeisskopfFactor( const Int_t spin,
95  const Double_t resRadius,
96  const BarrierType barrierType,
97  const RestFrame restFrame,
98  const BlattWeisskopfCategory category );
99 
101 
105  LauBlattWeisskopfFactor* createClone( const UInt_t newSpin, const BarrierType newBarrierType );
106 
108  const LauParameter* getRadiusParameter() const { return radius_; }
109 
112 
115 
117  RestFrame getRestFrame() const { return restFrame_; }
118 
120 
123  Double_t calcFormFactor( const Double_t p ) const;
124 
125  private:
128  const UInt_t newSpin,
129  const BarrierType newBarrierType );
130 
133 
135  TString setRadiusName( const LauResonanceInfo& resInfo, const BlattWeisskopfCategory category );
136 
138  TString setRadiusName( const BlattWeisskopfCategory category );
139 
141  TString setRadiusName( const TString& categoryName );
142 
144  const UInt_t spin_;
145 
148 
151 
154 
155  ClassDef( LauBlattWeisskopfFactor, 0 )
156 };
157 
158 #endif
TString setRadiusName(const LauResonanceInfo &resInfo, const BlattWeisskopfCategory category)
Set the name of the radius parameter.
RestFrame getRestFrame() const
Retrieve the rest frame information.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
Double_t calcFormFactor(const Double_t p) const
Calculate form factor value.
LauBlattWeisskopfFactor(const LauResonanceInfo &resInfo, const BarrierType barrierType, const RestFrame restFrame, const BlattWeisskopfCategory category)
Constructor.
LauBlattWeisskopfFactor * createClone(const UInt_t newSpin, const BarrierType newBarrierType)
Method to create a new factor with cloned radius parameter.
LauBlattWeisskopfFactor & operator=(const LauBlattWeisskopfFactor &other)
Copy assignment operator (not implemented)
LauParameter * radius_
Radius parameter.
BarrierType
Define the allowed types of barrier factors.
const UInt_t spin_
Resonance spin.
LauParameter * getRadiusParameter()
Retrieve the radius parameter.
Class for defining the properties of a resonant particle.
const BarrierType barrierType_
Barrier type.
const LauParameter * getRadiusParameter() const
Retrieve the radius parameter.
BlattWeisskopfCategory
Define resonance categories that will share common barrier factor radii.
BarrierType getBarrierType() const
Retrieve the barrier type.
RestFrame
Define the rest frame in which the momentum should be calculated (only relevant for bachelor)
const RestFrame restFrame_
Rest frame.
Class that implements the Blatt-Weisskopf barrier factor.