laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsCoeffSet.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_ABS_COEFF_SET
23 #define LAU_ABS_COEFF_SET
24 
25 #include <iosfwd>
26 #include <vector>
27 
28 #include "TString.h"
29 
30 class LauComplex;
31 class LauParameter;
32 
33 
35 
36  public:
38  virtual ~LauAbsCoeffSet(){}
39 
41 
44  virtual std::vector<LauParameter*> getParameters() = 0;
45 
47 
50  virtual void printTableHeading(std::ostream& stream) = 0;
51 
53 
56  virtual void printTableRow(std::ostream& stream) = 0;
57 
59  virtual void randomiseInitValues() = 0;
60 
62  virtual void finaliseValues() = 0;
63 
65 
68  virtual LauComplex particleCoeff() = 0;
69 
71 
74  virtual LauComplex antiparticleCoeff() = 0;
75 
77 
81  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar ) = 0;
82 
84 
87  virtual LauParameter acp() = 0;
88 
90 
95  virtual LauAbsCoeffSet* createClone(const TString& newName, Double_t constFactor = 1.0) = 0;
96 
98 
102  virtual TString name() const {return name_;}
103 
105 
109  virtual void name(const TString& theName) {name_ = theName;}
110 
112 
117  virtual TString baseName() const {return basename_;}
118 
120 
125  virtual void baseName(const TString& theBasename) {basename_ = theBasename;}
126 
128 
131  virtual UInt_t index() const {return index_;}
132 
134 
137  virtual void index(UInt_t newIndex);
138 
139  protected:
141 
144  LauAbsCoeffSet(const TString& theName);
145 
147 
150  virtual void adjustName(LauParameter& par);
151 
153 
156  virtual void adjustName(LauParameter* par);
157 
158  private:
160  TString name_;
161 
163  TString basename_;
164 
166  UInt_t index_;
167 
168  ClassDef(LauAbsCoeffSet, 0)
169 
170 };
171 
172 #endif
virtual void randomiseInitValues()=0
Randomise the starting values of the parameters for a fit.
virtual void adjustName(LauParameter &par)
Prepend the base name and index to the name of a parameter.
virtual LauComplex antiparticleCoeff()=0
Retrieve the complex coefficient for an antiparticle.
virtual TString baseName() const
Retrieve the base name of the coefficient set.
virtual LauParameter acp()=0
Calculate the CP asymmetry.
virtual LauComplex particleCoeff()=0
Retrieve the complex coefficient for a particle.
LauAbsCoeffSet(const TString &theName)
Constructor.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar)=0
Set the parameters based on the complex coefficients for particles and antiparticles.
UInt_t index_
The index number of the coefficient set.
virtual LauAbsCoeffSet * createClone(const TString &newName, Double_t constFactor=1.0)=0
Create a clone of the coefficient set.
virtual UInt_t index() const
Retrieve the index number of the coefficient set.
TString basename_
The base name of the coefficient set.
virtual void name(const TString &theName)
Set the name of the coefficient set.
Class for defining the abstract interface for complex coefficient classes.
virtual void finaliseValues()=0
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
virtual ~LauAbsCoeffSet()
Destructor.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
virtual void baseName(const TString &theBasename)
Set the base name of the coefficient set.
virtual void printTableRow(std::ostream &stream)=0
Print the parameters of the complex coefficient as a row in the results table.
Class for defining a complex number.
Definition: LauComplex.hh:47
virtual TString name() const
Retrieve the name of the coefficient set.
virtual std::vector< LauParameter * > getParameters()=0
Retrieve the parameters of the coefficient so that they can be loaded into a fit. ...
virtual void printTableHeading(std::ostream &stream)=0
Print the column headings for a results table.
TString name_
The name of the coefficient set.