laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauModIndPartWaveRealImag.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2015 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 
36 #ifndef LAU_MODINDPARTWAVE_REALIMAG
37 #define LAU_MODINDPARTWAVE_REALIMAG
38 
39 #include "LauComplex.hh"
40 #include "LauAbsModIndPartWave.hh"
41 
42 class TSpline3;
43 
44 
46 
47  public:
49 
54  LauModIndPartWaveRealImag(LauResonanceInfo* resInfo, Int_t resPairAmpInt, const LauDaughters* daughters);
55 
58 
60 
67  virtual void setKnotAmp(const UInt_t knot, const Double_t realVal, const Double_t imagVal, const Bool_t fixRealPart, const Bool_t fixImagPart);
68 
70 
75  this->setSplineType(realType,imagType);
76  }
77 
79 
93  Double_t realLeftGrad = 0.0,
94  Double_t realRightGrad = 0.0,
95  Double_t imagLeftGrad = 0.0,
96  Double_t imagRightGrad = 0.0)
97  {
98  this->setSplineBoundaryConditions(realLeftBound,realRightBound,imagLeftBound,imagRightBound,realLeftGrad,realRightGrad,imagLeftGrad,imagRightGrad);
99  }
100 
102 
106 
107  protected:
109 
112  virtual void evaluateAmplitude(const Double_t mass);
113 
115 
118  virtual void createAmpParameters(const UInt_t iKnot);
119 
120  private:
121  ClassDef(LauModIndPartWaveRealImag,0) // model independent partial wave
122 
123 };
124 
125 #endif
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
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:47
virtual ~LauModIndPartWaveRealImag()
Destructor.
void setBoundaryConditions(Lau1DCubicSpline::LauSplineBoundaryType realLeftBound, Lau1DCubicSpline::LauSplineBoundaryType realRightBound, Lau1DCubicSpline::LauSplineBoundaryType imagLeftBound, Lau1DCubicSpline::LauSplineBoundaryType imagRightBound, Double_t realLeftGrad=0.0, Double_t realRightGrad=0.0, Double_t imagLeftGrad=0.0, Double_t imagRightGrad=0.0)
Method to set the boundary conditions of the splines.
LauModIndPartWaveRealImag(LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
File containing declaration of LauComplex class.
void setType(Lau1DCubicSpline::LauSplineType realType, Lau1DCubicSpline::LauSplineType imagType)
Method to set the type of interpolation used for 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 setKnotAmp(const UInt_t knot, const Double_t realVal, const Double_t imagVal, const Bool_t fixRealPart, const Bool_t fixImagPart)
Set the values of the two real parameters that define the amplitude at a given knot.
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.
Class for defining a model independent partial wave component where the amplitudes are parameterised ...
virtual void evaluateAmplitude(const Double_t mass)
Evaluate the amplitude at the given point from 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.