laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauModIndPartWaveMagPhase.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_MAGPHASE
37 #define LAU_MODINDPARTWAVE_MAGPHASE
38 
39 #include "LauAbsModIndPartWave.hh"
40 #include "LauComplex.hh"
41 
42 class TSpline3;
43 
45 
46  public:
48 
54  Int_t resPairAmpInt,
55  const LauDaughters* daughters );
56 
59 
61 
68  virtual void setKnotAmp( const UInt_t knot,
69  const Double_t magVal,
70  const Double_t phaseVal,
71  const Bool_t fixMagnitude,
72  const Bool_t fixPhase );
73 
75 
80  {
81  this->setSplineType( magType, phaseType );
82  }
83 
85 
99  Double_t magLeftGrad = 0.0,
100  Double_t magRightGrad = 0.0,
101  Double_t phaseLeftGrad = 0.0,
102  Double_t phaseRightGrad = 0.0 )
103  {
104  this->setSplineBoundaryConditions( magLeftBound,
105  magRightBound,
106  phaseLeftBound,
107  phaseRightBound,
108  magLeftGrad,
109  magRightGrad,
110  phaseLeftGrad,
111  phaseRightGrad );
112  }
113 
115 
119  {
121  }
122 
123  protected:
125 
128  virtual void evaluateAmplitude( const Double_t mass );
129 
131 
134  virtual void createAmpParameters( const UInt_t iKnot );
135 
136  private:
137  ClassDef( LauModIndPartWaveMagPhase, 0 ) // model independent partial wave
138 };
139 
140 #endif
LauModIndPartWaveMagPhase(LauResonanceInfo *resInfo, Int_t resPairAmpInt, const LauDaughters *daughters)
Constructor.
void setSplineType(Lau1DCubicSpline::LauSplineType type1, Lau1DCubicSpline::LauSplineType type2)
Method to set the type of interpolation used for the splines.
Class for defining a model independent partial wave component where the amplitudes are parameterised ...
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.
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 setType(Lau1DCubicSpline::LauSplineType magType, Lau1DCubicSpline::LauSplineType phaseType)
Method to set the type of interpolation used for the splines.
File containing declaration of LauComplex class.
virtual LauAbsResonance::LauResonanceModel getResonanceModel() const
Get the resonance model type.
Class for defining the properties of a resonant particle.
virtual ~LauModIndPartWaveMagPhase()
Destructor.
virtual void evaluateAmplitude(const Double_t mass)
Evaluate the amplitude at the given point from the splines.
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.
virtual void createAmpParameters(const UInt_t iKnot)
Method to create the parameter objects for the given knot.
LauSplineBoundaryType
Define the allowed boundary condition types.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
File containing declaration of LauAbsModIndPartWave class.
LauResonanceModel
Define the allowed resonance types.
Abstract base class for defining a model independent partial wave component.