laura is hosted by Hepforge, IPPP Durham
Laura++  v1r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauMagPhaseCoeffSet.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2006 - 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_MAGPHASE_COEFF_SET
23 #define LAU_MAGPHASE_COEFF_SET
24 
25 #include <iosfwd>
26 #include <vector>
27 
28 #include "Rtypes.h"
29 
30 #include "LauAbsCoeffSet.hh"
31 #include "LauComplex.hh"
32 #include "LauParameter.hh"
33 
34 
36 
37  public:
39 
46  LauMagPhaseCoeffSet(const TString& compName, Double_t magnitude, Double_t phase, Bool_t magFixed, Bool_t phaseFixed);
47 
50 
52 
55  virtual std::vector<LauParameter*> getParameters();
56 
58 
61  virtual void printTableHeading(std::ostream& stream);
62 
64 
67  virtual void printTableRow(std::ostream& stream);
68 
70  virtual void randomiseInitValues();
71 
73  virtual void finaliseValues();
74 
76 
79  virtual const LauComplex& particleCoeff();
80 
82 
85  virtual const LauComplex& antiparticleCoeff();
86 
88 
93  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar );
94 
96 
99  virtual LauParameter acp();
100 
102 
107  virtual LauAbsCoeffSet* createClone(const TString& newName, Double_t constFactor = 1.0);
108 
109  protected:
111 
116  LauMagPhaseCoeffSet(const LauMagPhaseCoeffSet& rhs, Double_t constFactor = 1.0);
117 
119 
124 
125 
126  private:
128  Double_t minMag_;
130  Double_t maxMag_;
132  Double_t minPhase_;
134  Double_t maxPhase_;
135 
136  // the actual fit parameters
137  // (need to be pointers so they can be cloned)
142 
145 
146  ClassDef(LauMagPhaseCoeffSet, 0)
147 };
148 
149 #endif
LauParameter * magnitude_
The magnitude.
virtual void finaliseValues()
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
Double_t maxPhase_
The maximum allowed value for phases.
File containing declaration of LauAbsCoeffSet class.
virtual LauAbsCoeffSet * createClone(const TString &newName, Double_t constFactor=1.0)
Create a clone of the coefficient set.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
LauMagPhaseCoeffSet(const TString &compName, Double_t magnitude, Double_t phase, Bool_t magFixed, Bool_t phaseFixed)
Constructor.
Double_t minMag_
The minimum allowed value for magnitudes.
virtual LauParameter acp()
Calculate the CP asymmetry.
virtual void printTableRow(std::ostream &stream)
Print the parameters of the complex coefficient as a row in the results table.
LauComplex coeff_
The complex coefficient.
File containing declaration of LauParameter class.
Double_t maxMag_
The maximum allowed value for magnitudes.
File containing declaration of LauComplex class.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar)
Set the parameters based on the complex coefficients for particles and antiparticles.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
virtual ~LauMagPhaseCoeffSet()
Destructor.
LauParameter * phase_
The phase.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
virtual void printTableHeading(std::ostream &stream)
Print the column headings for a results table.
Class for defining a complex number.
Definition: LauComplex.hh:47
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit...
LauMagPhaseCoeffSet & operator=(const LauMagPhaseCoeffSet &rhs)
Copy assignment operator.
Double_t minPhase_
The minimum allowed value for phases.
Class for defining a complex coefficient using a magnitude and a phase.