laura is hosted by Hepforge, IPPP Durham
Laura++  v3r4
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRealImagCPCoeffSet.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2014 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 
38 #ifndef LAU_REALIMAGCP_COEFF_SET
39 #define LAU_REALIMAGCP_COEFF_SET
40 
41 #include <iosfwd>
42 #include <vector>
43 
44 #include "Rtypes.h"
45 
46 #include "LauAbsCoeffSet.hh"
47 #include "LauComplex.hh"
48 #include "LauParameter.hh"
49 
50 
52 
53  public:
55 
66  LauRealImagCPCoeffSet(const TString& compName, Double_t x, Double_t y, Double_t xbar, Double_t ybar,
67  Bool_t xFixed, Bool_t yFixed, Bool_t xbarFixed, Bool_t ybarFixed);
68 
71 
73 
76  virtual std::vector<LauParameter*> getParameters();
77 
79  virtual void printParValues() const;
80 
82 
85  virtual void printTableHeading(std::ostream& stream) const;
86 
88 
91  virtual void printTableRow(std::ostream& stream) const;
92 
94  virtual void randomiseInitValues();
95 
97  virtual void finaliseValues();
98 
100 
103  virtual const LauComplex& particleCoeff();
104 
106 
109  virtual const LauComplex& antiparticleCoeff();
110 
112 
117  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
118 
120 
123  virtual LauParameter acp();
124 
126 
132  virtual LauAbsCoeffSet* createClone(const TString& newName, CloneOption cloneOption = All, Double_t constFactor = 1.0);
133 
134  private:
136 
142  LauRealImagCPCoeffSet(const LauRealImagCPCoeffSet& rhs, CloneOption cloneOption = All, Double_t constFactor = 1.0);
143 
145 
149 
150  // the actual fit parameters
151  // (need to be pointers so they can be cloned)
160 
165 
168 
169  ClassDef(LauRealImagCPCoeffSet, 0)
170 };
171 
172 #endif
LauRealImagCPCoeffSet(const TString &compName, Double_t x, Double_t y, Double_t xbar, Double_t ybar, Bool_t xFixed, Bool_t yFixed, Bool_t xbarFixed, Bool_t ybarFixed)
Constructor.
LauRealImagCPCoeffSet & operator=(const LauRealImagCPCoeffSet &rhs)
Copy assignment operator (not implemented)
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
File containing declaration of LauAbsCoeffSet class.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
LauParameter * y_
The imaginary part for the particle.
LauComplex particleCoeff_
The particle complex coefficient.
CloneOption
Options for cloning operation.
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
File containing declaration of LauParameter class.
File containing declaration of LauComplex class.
LauParameter acp_
The CP asymmetry.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
LauParameter * x_
The real part for the particle.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
LauParameter * ybar_
The imaginary part for the antiparticle.
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
virtual void finaliseValues()
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
Class for defining a complex coefficient using a simple Cartesian CP convention.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit...
LauParameter * xbar_
The real part for the antiparticle.
Class for defining a complex number.
Definition: LauComplex.hh:61
virtual ~LauRealImagCPCoeffSet()
Destructor.
virtual LauParameter acp()
Calculate the CP asymmetry.
virtual void printParValues() const
Print the current values of the parameters.