laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauLASSBWRes.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2008 - 2013.
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 
22 #ifndef LAU_LASS_BW_RES
23 #define LAU_LASS_BW_RES
24 
25 #include "TString.h"
26 
27 #include "LauComplex.hh"
28 #include "LauAbsResonance.hh"
29 
30 
31 class LauLASSBWRes : public LauAbsResonance {
32 
33  public:
35 
44  LauLASSBWRes(TString resName, Double_t resMass, Double_t resWidth,
45  Int_t resSpin, Int_t resCharge, Int_t resPairAmpInt,
46  const LauDaughters* daughters);
47 
48  // Destructor
49  virtual ~LauLASSBWRes();
50 
52  virtual void initialise();
53 
55 
59 
61 
64  virtual Double_t getEffectiveRange() {return r_;}
66 
69  virtual Double_t getScatteringLength() {return a_;}
71 
74  virtual Double_t getBackgroundMag() {return B_;}
76 
79  virtual Double_t getResonanceMag() {return R_;}
81 
84  virtual Double_t getBackgroundPhase() {return phiB_;}
86 
89  virtual Double_t getResonancePhase() {return phiR_;}
91 
94  virtual Double_t getCutOff() {return cutOff_;}
95 
97 
100  virtual void setEffectiveRange(Double_t r) {r_ = r;}
102 
105  virtual void setScatteringLength(Double_t a) {a_ = a;}
107 
110  virtual void setBackgroundMag(Double_t B) {B_ = B;}
112 
115  virtual void setResonanceMag(Double_t R) {R_ = R;}
117 
120  virtual void setBackgroundPhase(Double_t phiB) {phiB_ = phiB;}
122 
125  virtual void setResonancePhase(Double_t phiR) {phiR_ = phiR;}
127 
130  virtual void setCutOff(Double_t cutOff) {cutOff_ = cutOff;}
131 
133 
137  virtual void setResonanceParameter(Double_t value, const TString& name);
138 
139  protected:
141 
145  virtual LauComplex resAmp(Double_t mass, Double_t spinTerm);
146 
147  private:
149  Double_t q0_;
151  Double_t mDaugSum_;
153  Double_t mDaugSumSq_;
155  Double_t mDaugDiff_;
157  Double_t mDaugDiffSq_;
159  Double_t resMassSq_;
161  Double_t r_;
163  Double_t a_;
165  Double_t B_;
167  Double_t R_;
169  Double_t phiB_;
171  Double_t phiR_;
173  Double_t cutOff_;
174 
175  ClassDef(LauLASSBWRes,0) // LASS resonance model
176 };
177 
178 #endif
virtual void setResonanceParameter(Double_t value, const TString &name)
Set value of the various parameters.
virtual void setCutOff(Double_t cutOff)
Set the cut off parameter.
virtual ~LauLASSBWRes()
Definition: LauLASSBWRes.cc:50
Double_t mDaugDiff_
Difference between the daughter masses.
virtual Double_t getEffectiveRange()
Get the effective range parameter.
Definition: LauLASSBWRes.hh:64
virtual Double_t getBackgroundPhase()
Get the background phase.
Definition: LauLASSBWRes.hh:84
Double_t B_
LASS background magnitude.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
virtual Double_t getResonancePhase()
Get the resonance phase.
Definition: LauLASSBWRes.hh:89
Double_t phiR_
LASS resonance phase.
Double_t resMassSq_
Square of the resonance mass.
Double_t cutOff_
LASS cut off parameter.
virtual void setEffectiveRange(Double_t r)
Set the effective range parameter.
virtual void setBackgroundPhase(Double_t phiB)
Set the background phase.
LauLASSBWRes(TString resName, Double_t resMass, Double_t resWidth, Int_t resSpin, Int_t resCharge, Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
Definition: LauLASSBWRes.cc:23
virtual void setResonancePhase(Double_t phiR)
Set the resonance phase.
Double_t mDaugDiffSq_
Square of mDaugDiff.
virtual Double_t getScatteringLength()
Get the scattering length range parameter.
Definition: LauLASSBWRes.hh:69
Double_t r_
LASS effective range parameter.
Double_t R_
LASS resonance magnitude.
virtual void initialise()
Initialise the model.
Definition: LauLASSBWRes.cc:54
File containing declaration of LauComplex class.
Double_t q0_
Decay momentum of either daughter in the resonance rest frame.
virtual void setScatteringLength(Double_t a)
Set the scattering length parameter.
virtual Double_t getResonanceMag()
Get the resonance magnitude.
Definition: LauLASSBWRes.hh:79
Double_t a_
LASS scattering length parameter.
Double_t phiB_
LASS background phase.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
Complex resonant amplitude.
Definition: LauLASSBWRes.cc:82
virtual void setBackgroundMag(Double_t B)
Set the background magnitude.
virtual Double_t getCutOff()
Get the cut off parameter.
Definition: LauLASSBWRes.hh:94
LauResonanceModel
Define the allowed resonance types.
Double_t mDaugSum_
Sum of the daughter masses.
virtual void setResonanceMag(Double_t R)
Set the resonance magnitude.
Double_t mDaugSumSq_
Square of mDaugSum.
Class for defining the resonant part of the LASS model.
Definition: LauLASSBWRes.hh:31
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Definition: LauLASSBWRes.hh:58
File containing declaration of LauAbsResonance class.
virtual Double_t getBackgroundMag()
Get the background magnitude.
Definition: LauLASSBWRes.hh:74
Class for defining a complex number.
Definition: LauComplex.hh:47