laura is hosted by Hepforge, IPPP Durham
Laura++  v1r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauMagPhaseCPCoeffSet.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2011 - 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 
26 #ifndef LAU_MAGPHASECP_COEFF_SET
27 #define LAU_MAGPHASECP_COEFF_SET
28 
29 #include <iosfwd>
30 #include <vector>
31 
32 #include "Rtypes.h"
33 
34 #include "LauAbsCoeffSet.hh"
35 #include "LauComplex.hh"
36 #include "LauParameter.hh"
37 
38 
40 
41  public:
43 
54  LauMagPhaseCPCoeffSet(const TString& compName, Double_t mag, Double_t phase, Double_t magBar, Double_t phaseBar,
55  Bool_t magFixed, Bool_t phaseFixed, Bool_t magBarFixed, Bool_t phaseBarFixed);
56 
59 
61 
64  virtual std::vector<LauParameter*> getParameters();
65 
67 
70  virtual void printTableHeading(std::ostream& stream);
71 
73 
76  virtual void printTableRow(std::ostream& stream);
77 
79  virtual void randomiseInitValues();
80 
82  virtual void finaliseValues();
83 
85 
88  virtual const LauComplex& particleCoeff();
89 
91 
94  virtual const LauComplex& antiparticleCoeff();
95 
97 
101  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar );
102 
104 
107  virtual LauParameter acp();
108 
110 
115  virtual LauAbsCoeffSet* createClone(const TString& newName, Double_t constFactor = 1.0);
116 
117  protected:
119 
124  LauMagPhaseCPCoeffSet(const LauMagPhaseCPCoeffSet& rhs, Double_t constFactor = 1.0);
125 
127 
132 
133  private:
135  Double_t minMag_;
137  Double_t maxMag_;
139  Double_t minPhase_;
141  Double_t maxPhase_;
142 
143  // the actual fit parameters
144  // (need to be pointers so they can be cloned)
153 
158 
161 
162  ClassDef(LauMagPhaseCPCoeffSet, 0)
163 };
164 
165 #endif
virtual void finaliseValues()
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
LauParameter acp_
The CP asymmetry.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
virtual LauAbsCoeffSet * createClone(const TString &newName, Double_t constFactor=1.0)
Create a clone of the coefficient set.
LauParameter * phase_
The phase for particles.
File containing declaration of LauAbsCoeffSet class.
Double_t minMag_
The minimum allowed value for magnitudes.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit...
Double_t maxPhase_
The maximum allowed value for phases.
LauMagPhaseCPCoeffSet & operator=(const LauMagPhaseCPCoeffSet &rhs)
Copy assignment operator.
Class for defining a complex coefficient using seperate magnitudes and phases for particles and antip...
Double_t maxMag_
The maximum allowed value for magnitudes.
virtual void printTableRow(std::ostream &stream)
Print the parameters of the complex coefficient as a row in the results table.
File containing declaration of LauParameter class.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar)
Set the parameters based on the complex coefficients for particles and antiparticles.
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 LauParameter acp()
Calculate the CP asymmetry.
LauParameter * magBar_
The magnitude for antiparticles.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
virtual ~LauMagPhaseCPCoeffSet()
Destructor.
Class for defining a complex number.
Definition: LauComplex.hh:47
Double_t minPhase_
The minimum allowed value for phases.
LauParameter * mag_
The magnitude for particles.
LauMagPhaseCPCoeffSet(const TString &compName, Double_t mag, Double_t phase, Double_t magBar, Double_t phaseBar, Bool_t magFixed, Bool_t phaseFixed, Bool_t magBarFixed, Bool_t phaseBarFixed)
Constructor.
virtual void printTableHeading(std::ostream &stream)
Print the column headings for a results table.
LauComplex particleCoeff_
The particle complex coefficient.
LauParameter * phaseBar_
The phase for antiparticles.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.