laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauMagPhaseCPCoeffSet.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2011 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 
40 #ifndef LAU_MAGPHASECP_COEFF_SET
41 #define LAU_MAGPHASECP_COEFF_SET
42 
43 #include <iosfwd>
44 #include <vector>
45 
46 #include "Rtypes.h"
47 
48 #include "LauAbsCoeffSet.hh"
49 #include "LauComplex.hh"
50 #include "LauParameter.hh"
51 
52 
54 
55  public:
57 
68  LauMagPhaseCPCoeffSet(const TString& compName, Double_t mag, Double_t phase, Double_t magBar, Double_t phaseBar,
69  Bool_t magFixed, Bool_t phaseFixed, Bool_t magBarFixed, Bool_t phaseBarFixed);
70 
73 
75 
78  virtual std::vector<LauParameter*> getParameters();
79 
81  virtual void printParValues() const;
82 
84 
87  virtual void printTableHeading(std::ostream& stream) const;
88 
90 
93  virtual void printTableRow(std::ostream& stream) const;
94 
96  virtual void randomiseInitValues();
97 
99  virtual void finaliseValues();
100 
102 
105  virtual const LauComplex& particleCoeff();
106 
108 
111  virtual const LauComplex& antiparticleCoeff();
112 
114 
119  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
120 
122 
125  virtual LauParameter acp();
126 
128 
134  virtual LauAbsCoeffSet* createClone(const TString& newName, CloneOption cloneOption = All, Double_t constFactor = 1.0);
135 
136  private:
138 
144  LauMagPhaseCPCoeffSet(const LauMagPhaseCPCoeffSet& rhs, CloneOption cloneOption = All, Double_t constFactor = 1.0);
145 
147 
151 
152  // the actual fit parameters
153  // (need to be pointers so they can be cloned)
162 
167 
170 
171  ClassDef(LauMagPhaseCPCoeffSet, 0)
172 };
173 
174 #endif
LauMagPhaseCPCoeffSet & operator=(const LauMagPhaseCPCoeffSet &rhs)
Copy assignment operator (not implemented)
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.
LauParameter * phase_
The phase for particles.
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 LauAbsCoeffSet class.
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
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 seperate magnitudes and phases for particles and antip...
virtual void printParValues() const
Print the current values of the parameters.
CloneOption
Options for cloning operation.
File containing declaration of LauParameter class.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
File containing declaration of LauComplex class.
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 abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
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:61
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.
LauComplex particleCoeff_
The particle complex coefficient.
LauParameter * phaseBar_
The phase for antiparticles.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.