laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPPartialIntegralInfo.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2014.
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 
23 #ifndef LAU_DPPARTIALINTEGRAL_INFO
24 #define LAU_DPPARTIALINTEGRAL_INFO
25 
26 #include <iosfwd>
27 
28 #include "TString.h"
29 
30 #include "LauComplex.hh"
31 
32 
34 
35  public:
37 
48  LauDPPartialIntegralInfo(const Double_t minm13, const Double_t maxm13,
49  const Double_t minm23, const Double_t maxm23,
50  const Double_t m13BinWidth, const Double_t m23BinWidth,
51  const Double_t precision,
52  const UInt_t nAmp,
53  const UInt_t nIncohAmp);
54 
56  virtual ~LauDPPartialIntegralInfo();
57 
59 
62  inline Double_t getMinm13() const {return minm13_;}
63 
65 
68  inline Double_t getMaxm13() const {return maxm13_;}
69 
71 
74  inline Double_t getMinm23() const {return minm23_;}
75 
77 
80  inline Double_t getMaxm23() const {return maxm23_;}
81 
83 
86  inline Double_t getM13BinWidth() const {return m13BinWidth_;}
87 
89 
92  inline Double_t getM23BinWidth() const {return m23BinWidth_;}
93 
95 
98  inline UInt_t getnm13Points() const {return nm13Points_;}
99 
101 
104  inline UInt_t getnm23Points() const {return nm23Points_;}
105 
107 
112  inline Double_t getWeight(const UInt_t m13Point, const UInt_t m23Point) const {return weights_[m13Point][m23Point];}
113 
115 
119  inline Double_t getM13Value(const UInt_t m13Point) const {return m13Points_[m13Point];}
120 
122 
126  inline Double_t getM23Value(const UInt_t m23Point) const {return m23Points_[m23Point];}
127 
129 
134  inline Double_t getEfficiency(const UInt_t m13Point, const UInt_t m23Point) const { return efficiencies_[m13Point][m23Point]; }
135 
137 
142  inline void storeEfficiency(const UInt_t m13Point, const UInt_t m23Point, const Double_t efficiency) { efficiencies_[m13Point][m23Point] = efficiency; }
143 
145 
151  inline const LauComplex& getAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const { return amplitudes_[m13Point][m23Point][iAmp]; }
152 
154 
160  inline void storeAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const LauComplex& amplitude) { amplitudes_[m13Point][m23Point][iAmp] = amplitude; }
161 
163 
169  inline Double_t getIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const { return incohIntensities_[m13Point][m23Point][iAmp]; }
170 
172 
178  inline void storeIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const Double_t intensity) { incohIntensities_[m13Point][m23Point][iAmp] = intensity; }
179 
180  private:
183 
186 
188  const Double_t minm13_;
189 
191  const Double_t maxm13_;
192 
194  const Double_t minm23_;
195 
197  const Double_t maxm23_;
198 
200  const Double_t m13BinWidth_;
201 
203  const Double_t m23BinWidth_;
204 
206  const UInt_t nm13Points_;
207 
209  const UInt_t nm23Points_;
210 
212  const UInt_t nAmp_;
213 
215  const UInt_t nIncohAmp_;
216 
218  std::vector<Double_t> m13Points_;
219 
221  std::vector<Double_t> m23Points_;
222 
224  std::vector<Double_t> m13Weights_;
225 
227  std::vector<Double_t> m23Weights_;
228 
230  std::vector< std::vector<Double_t> > weights_;
231 
233  std::vector< std::vector<Double_t> > efficiencies_;
234 
236  std::vector< std::vector< std::vector<LauComplex> > > amplitudes_;
237 
239  std::vector< std::vector< std::vector<Double_t> > > incohIntensities_;
240 
241  ClassDef(LauDPPartialIntegralInfo, 0)
242 };
243 
244 std::ostream& operator<<( std::ostream& stream, const LauDPPartialIntegralInfo& infoRecord );
245 
246 #endif
Double_t getMinm13() const
Retrieve the minm13 of DP.
std::vector< Double_t > m23Points_
The m23 positions of the grid points.
void storeIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const Double_t intensity)
Store the intensity for the given grid point and intensity index.
virtual ~LauDPPartialIntegralInfo()
Destructor.
const UInt_t nm23Points_
The number of bins in m23.
const Double_t maxm13_
The maximum of the m13 range.
Double_t getM23BinWidth() const
Retrieve the m23BinWidth of DP.
Class for defining (a section of) the Dalitz plot integration binning scheme.
const Double_t m23BinWidth_
The bin width for m23.
Double_t getM23Value(const UInt_t m23Point) const
Retrieve the m23 value at the given grid point.
UInt_t getnm23Points() const
Retrieve the number of bins in m23.
UInt_t getnm13Points() const
Retrieve the number of bins in m13.
const Double_t m13BinWidth_
The bin width for m13.
std::vector< Double_t > m23Weights_
The Gauss-Legendre weights of the m23 grid points.
std::ostream & operator<<(std::ostream &os, const LauComplex &z)
Definition: LauComplex.cc:43
const Double_t minm13_
The minimum of the m13 range.
const Double_t minm23_
The minimum of the m23 range.
File containing declaration of LauComplex class.
Double_t getM13Value(const UInt_t m13Point) const
Retrieve the m13 value at the given grid point.
Double_t getMaxm13() const
Retrieve the maxm13 of DP.
LauDPPartialIntegralInfo & operator=(const LauDPPartialIntegralInfo &other)
Copy assignment operator (not implemented)
LauDPPartialIntegralInfo(const Double_t minm13, const Double_t maxm13, const Double_t minm23, const Double_t maxm23, const Double_t m13BinWidth, const Double_t m23BinWidth, const Double_t precision, const UInt_t nAmp, const UInt_t nIncohAmp)
Constructor.
std::vector< std::vector< Double_t > > efficiencies_
The efficiency at each 2D grid point.
const UInt_t nIncohAmp_
The number of amplitude components.
std::vector< std::vector< Double_t > > weights_
The combined weights at each 2D grid point.
Double_t getWeight(const UInt_t m13Point, const UInt_t m23Point) const
Retrieve the weight for the given grid point.
Double_t getEfficiency(const UInt_t m13Point, const UInt_t m23Point) const
Retrieve the efficiency for the given grid point.
Double_t getMinm23() const
Retrieve the minm23 of DP.
Double_t getM13BinWidth() const
Retrieve the m13BinWidth of DP.
const UInt_t nm13Points_
The number of bins in m13.
Double_t getMaxm23() const
Retrieve the maxm23 of DP.
Class for defining a complex number.
Definition: LauComplex.hh:47
Double_t getIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const
Retrieve the intensity for the given grid point and intensity index.
std::vector< std::vector< std::vector< Double_t > > > incohIntensities_
The incoherent intensity values at each 2D grid point.
std::vector< Double_t > m13Points_
The m13 positions of the grid points.
std::vector< Double_t > m13Weights_
The Gauss-Legendre weights of the m13 grid points.
void storeEfficiency(const UInt_t m13Point, const UInt_t m23Point, const Double_t efficiency)
Store the efficiency for the given grid point.
const LauComplex & getAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const
Retrieve the amplitude for the given grid point and amplitude index.
void storeAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const LauComplex &amplitude)
Store the amplitude for the given grid point and amplitude index.
std::vector< std::vector< std::vector< LauComplex > > > amplitudes_
The amplitude values at each 2D grid point.
const Double_t maxm23_
The maximum of the m23 range.
const UInt_t nAmp_
The number of amplitude components.