laura is hosted by Hepforge, IPPP Durham
Laura++  v3r1
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  virtual void printParValues() const;
59 
61 
64  virtual void printTableHeading(std::ostream& stream) const;
65 
67 
70  virtual void printTableRow(std::ostream& stream) const;
71 
73  virtual void randomiseInitValues();
74 
76  virtual void finaliseValues();
77 
79 
82  virtual const LauComplex& particleCoeff();
83 
85 
88  virtual const LauComplex& antiparticleCoeff();
89 
91 
97  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
98 
100 
103  virtual LauParameter acp();
104 
106 
112  virtual LauAbsCoeffSet* createClone(const TString& newName, CloneOption cloneOption = All, Double_t constFactor = 1.0);
113 
114  private:
116 
122  LauMagPhaseCoeffSet(const LauMagPhaseCoeffSet& rhs, CloneOption cloneOption = All, Double_t constFactor = 1.0);
123 
125 
129 
130  // the actual fit parameters
131  // (need to be pointers so they can be cloned)
136 
139 
140  ClassDef(LauMagPhaseCoeffSet, 0)
141 };
142 
143 #endif
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
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.
File containing declaration of LauAbsCoeffSet class.
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.
virtual LauParameter acp()
Calculate the CP asymmetry.
CloneOption
Options for cloning operation.
LauComplex coeff_
The complex coefficient.
File containing declaration of LauParameter class.
LauMagPhaseCoeffSet & operator=(const LauMagPhaseCoeffSet &rhs)
Copy assignment operator (not implemented)
virtual void printParValues() const
Print the current values of the parameters.
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
File containing declaration of LauComplex class.
Class for defining the abstract interface for complex coefficient classes.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
virtual ~LauMagPhaseCoeffSet()
Destructor.
LauParameter * phase_
The phase.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
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...
Class for defining a complex coefficient using a magnitude and a phase.