laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauModIndPartWaveMagPhase.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 
22 #ifndef LAU_MODINDPARTWAVE_MAGPHASE
23 #define LAU_MODINDPARTWAVE_MAGPHASE
24 
25 #include "LauComplex.hh"
26 #include "LauAbsModIndPartWave.hh"
27 
28 class TSpline3;
29 
30 
32 
33  public:
35 
40  LauModIndPartWaveMagPhase(LauResonanceInfo* resInfo, Int_t resPairAmpInt, const LauDaughters* daughters);
41 
44 
46 
53  virtual void setKnotAmp(const UInt_t knot, const Double_t magVal, const Double_t phaseVal, const Bool_t fixMagnitude, const Bool_t fixPhase);
54 
56 
61  this->setSplineType(magType,phaseType);
62  }
63 
65 
79  Double_t magLeftGrad = 0.0,
80  Double_t magRightGrad = 0.0,
81  Double_t phaseLeftGrad = 0.0,
82  Double_t phaseRightGrad = 0.0)
83  {
84  this->setSplineBoundaryConditions(magLeftBound,magRightBound,phaseLeftBound,phaseRightBound,magLeftGrad,magRightGrad,phaseLeftGrad,phaseRightGrad);
85  }
86 
88 
92 
93  protected:
95 
98  virtual void evaluateAmplitude(const Double_t mass);
99 
101 
104  virtual void createAmpParameters(const UInt_t iKnot);
105 
106  private:
107  ClassDef(LauModIndPartWaveMagPhase,0) // model independent partial wave
108 
109 };
110 
111 #endif
Abstract base class for defining a model independent partial wave component.
LauSplineBoundaryType
Define the allowed boundary condition types.
Class for defining the properties of a resonant particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
LauModIndPartWaveMagPhase(LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
virtual ~LauModIndPartWaveMagPhase()
Destructor.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
virtual void setKnotAmp(const UInt_t knot, const Double_t magVal, const Double_t phaseVal, const Bool_t fixMagnitude, const Bool_t fixPhase)
Set the values of the two real parameters that define the amplitude at a given knot.
Class for defining a model independent partial wave component where the amplitudes are parameterised ...
void setType(Lau1DCubicSpline::LauSplineType magType, Lau1DCubicSpline::LauSplineType phaseType)
Method to set the type of interpolation used for the splines.
File containing declaration of LauComplex class.
void setBoundaryConditions(Lau1DCubicSpline::LauSplineBoundaryType magLeftBound, Lau1DCubicSpline::LauSplineBoundaryType magRightBound, Lau1DCubicSpline::LauSplineBoundaryType phaseLeftBound, Lau1DCubicSpline::LauSplineBoundaryType phaseRightBound, Double_t magLeftGrad=0.0, Double_t magRightGrad=0.0, Double_t phaseLeftGrad=0.0, Double_t phaseRightGrad=0.0)
Method to set the boundary conditions of the splines.
LauResonanceModel
Define the allowed resonance types.
virtual void createAmpParameters(const UInt_t iKnot)
Method to create the parameter objects for the given knot.
virtual void evaluateAmplitude(const Double_t mass)
Evaluate the amplitude at the given point from the splines.
void setSplineBoundaryConditions(Lau1DCubicSpline::LauSplineBoundaryType leftBound1, Lau1DCubicSpline::LauSplineBoundaryType rightBound1, Lau1DCubicSpline::LauSplineBoundaryType leftBound2, Lau1DCubicSpline::LauSplineBoundaryType rightBound2, Double_t leftGrad1=0.0, Double_t rightGrad1=0.0, Double_t leftGrad2=0.0, Double_t rightGrad2=0.0)
Method to set the boundary conditions of the splines.
LauSplineType
Define the allowed interpolation types.
void setSplineType(Lau1DCubicSpline::LauSplineType type1, Lau1DCubicSpline::LauSplineType type2)
Method to set the type of interpolation used for the splines.
File containing declaration of LauAbsModIndPartWave class.