MINT2
SpinFactors3Body_ForRunningWidth.h
Go to the documentation of this file.
1 #ifndef SPINFACTORS_FOR_RUNNINGWIDTH_HH
2 #define SPINFACTORS_FOR_RUNNINGWIDTH_HH
3 // author: Philippe d'Argent (p.dargent@cern.ch)
4 // status: Tu 6 May 2014
5 
7 #include "Mint/IDalitzEvent.h"
9 #include "Mint/SpinFactor.h"
10 #include "Mint/counted_ptr.h"
11 #include <iostream>
12 
13 using namespace std;
14 
15 // ==========================================
16 
18 protected:
20 
21  virtual bool parseTree(const DalitzEventPattern& pat);
22 
23 public:
24  virtual void printYourself(std::ostream& os=std::cout) const=0;
26  : SpinFactor(theDecay, 3)
27  , V(0)
28  {}
29 
31  virtual double getVal(IDalitzEvent& evt)=0;
32  virtual std::complex<double> getNewVal(IDalitzEvent& evt)=0;
33 
34  virtual const DecayTree& exampleDecay()=0;
35  virtual std::string name() const{
36  return "SpinFactor3:SF_AtoVP1_VtoP2P3_BASE("
37  + theDecay().oneLiner() + ")";
38  }
39 
40 };
41 
43 protected:
44  int _pol;
46  public:
47  virtual void printYourself(std::ostream& os=std::cout) const;
48  SF_AtoVP1_VtoP2P3(const AssociatedDecayTree& theDecay, const int pol)
49  : SF_AtoVP1_VtoP2P3_BASE(theDecay), _pol(pol)
50  {}
51 
52  virtual ~SF_AtoVP1_VtoP2P3(){}
53  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
54  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
55 
56  static const DecayTree& getExampleDecay();
57  virtual const DecayTree& exampleDecay();
58  virtual std::string name() const{
59  return "SpinFactor3:SF_AtoVP1_VtoP2P3("
60  + theDecay().oneLiner() + ")";
61  }
62  int getPolarisation() {return _pol;}
63 };
64 
66 protected:
67  int _pol;
69 public:
70  virtual void printYourself(std::ostream& os=std::cout) const;
71  SF_AtoVP1_VtoP2P3_D(const AssociatedDecayTree& theDecay, const int pol)
72  : SF_AtoVP1_VtoP2P3_BASE(theDecay), _pol(pol)
73  {}
74 
76  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
77  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
78 
79  static const DecayTree& getExampleDecay();
80  virtual const DecayTree& exampleDecay();
81  virtual std::string name() const{
82  return "SpinFactor3:SF_AtoVP1_VtoP2P3_D("
83  + theDecay().oneLiner() + ")";
84  }
85  int getPolarisation() {return _pol;}
86 };
87 
88 // ==========================================
89 
91 protected:
93 
94  virtual bool parseTree(const DalitzEventPattern& pat);
95 
96 public:
97  virtual void printYourself(std::ostream& os=std::cout) const=0;
99  : SpinFactor(theDecay, 3)
100  , S(0)
101  {}
102 
104  virtual double getVal(IDalitzEvent& evt)=0;
105  virtual std::complex<double> getNewVal(IDalitzEvent& evt)=0;
106 
107  virtual const DecayTree& exampleDecay()=0;
108  virtual std::string name() const{
109  return "SpinFactor3:SF_AtoSP1_StoP2P3_BASE("
110  + theDecay().oneLiner() + ")";
111  }
112 
113 };
114 
116 protected:
117  int _pol;
119 public:
120  virtual void printYourself(std::ostream& os=std::cout) const;
121  SF_AtoSP1_StoP2P3(const AssociatedDecayTree& theDecay, const int pol)
122  : SF_AtoSP1_StoP2P3_BASE(theDecay), _pol(pol)
123  {}
124 
125  virtual ~SF_AtoSP1_StoP2P3(){}
126  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
127  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
128 
129  static const DecayTree& getExampleDecay();
130  virtual const DecayTree& exampleDecay();
131  virtual std::string name() const{
132  return "SpinFactor3:SF_AtoSP1_StoP2P3("
133  + theDecay().oneLiner() + ")";
134  }
135  int getPolarisation() {return _pol;}
136 };
137 
138 // ==========================================
139 
141 protected:
143 
144  virtual bool parseTree(const DalitzEventPattern& pat);
145 
146 public:
147  virtual void printYourself(std::ostream& os=std::cout) const=0;
149  : SpinFactor(theDecay, 3)
150  , V0(0)
151  {}
152 
154  virtual double getVal(IDalitzEvent& evt)=0;
155  virtual std::complex<double> getNewVal(IDalitzEvent& evt)=0;
156 
157  virtual const DecayTree& exampleDecay()=0;
158  virtual std::string name() const{
159  return "SpinFactor3:SF_VtoV0P1_V0toP2P3_BASE("
160  + theDecay().oneLiner() + ")";
161  }
162 
163 };
164 
166 protected:
167  int _pol;
169 public:
170  virtual void printYourself(std::ostream& os=std::cout) const;
171  SF_VtoV0P1_V0toP2P3(const AssociatedDecayTree& theDecay, const int pol)
172  : SF_VtoV0P1_V0toP2P3_BASE(theDecay), _pol(pol)
173  {}
174 
176  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
177  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
178 
179  static const DecayTree& getExampleDecay();
180  virtual const DecayTree& exampleDecay();
181  virtual std::string name() const{
182  return "SpinFactor3:SF_VtoV0P1_V0toP2P3("
183  + theDecay().oneLiner() + ")";
184  }
185  int getPolarisation() {return _pol;}
186 };
187 
188 
189 // ==========================================
190 
192 protected:
194 
195  virtual bool parseTree(const DalitzEventPattern& pat);
196 
197 public:
198  virtual void printYourself(std::ostream& os=std::cout) const=0;
200  : SpinFactor(theDecay, 3)
201  , S(0)
202  {}
203 
205  virtual double getVal(IDalitzEvent& evt)=0;
206  virtual std::complex<double> getNewVal(IDalitzEvent& evt)=0;
207 
208  virtual const DecayTree& exampleDecay()=0;
209  virtual std::string name() const{
210  return "SpinFactor3:SF_VtoSV0_StoP2P3_BASE("
211  + theDecay().oneLiner() + ")";
212  }
213 
214 };
215 
217 protected:
218  int _pol;
220 public:
221  virtual void printYourself(std::ostream& os=std::cout) const;
222  SF_VtoSV0_StoP2P3(const AssociatedDecayTree& theDecay, const int pol)
223  : SF_VtoSV0_StoP2P3_BASE(theDecay), _pol(pol)
224  {}
225 
226  virtual ~SF_VtoSV0_StoP2P3(){}
227  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
228  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
229 
230  static const DecayTree& getExampleDecay();
231  virtual const DecayTree& exampleDecay();
232  virtual std::string name() const{
233  return "SpinFactor3:SF_VtoSV0_StoP2P3("
234  + theDecay().oneLiner() + ")";
235  }
236  int getPolarisation() {return _pol;}
237 };
238 
239 // ==========================================
240 
242 protected:
244 
245  virtual bool parseTree(const DalitzEventPattern& pat);
246 
247 public:
248  virtual void printYourself(std::ostream& os=std::cout) const=0;
250  : SpinFactor(theDecay, 3)
251  , A(0)
252  {}
253 
255  virtual double getVal(IDalitzEvent& evt)=0;
256  virtual std::complex<double> getNewVal(IDalitzEvent& evt)=0;
257 
258  virtual const DecayTree& exampleDecay()=0;
259  virtual std::string name() const{
260  return "SpinFactor3:SF_VtoAP1_AtoV0P2_BASE("
261  + theDecay().oneLiner() + ")";
262  }
263 
264 };
265 
267 protected:
268  int _pol;
270 public:
271  virtual void printYourself(std::ostream& os=std::cout) const;
272  SF_VtoAP1_AtoV0P2(const AssociatedDecayTree& theDecay, const int pol)
273  : SF_VtoAP1_AtoV0P2_BASE(theDecay), _pol(pol)
274  {}
275 
276  virtual ~SF_VtoAP1_AtoV0P2(){}
277  virtual double getVal(IDalitzEvent& evt){return getNewVal(evt).real();}
278  virtual std::complex<double> getNewVal(IDalitzEvent& evt);
279 
280  static const DecayTree& getExampleDecay();
281  virtual const DecayTree& exampleDecay();
282  virtual std::string name() const{
283  return "SpinFactor3:SF_VtoAP1_AtoV0P2("
284  + theDecay().oneLiner() + ")";
285  }
286  int getPolarisation() {return _pol;}
287 };
288 
289 #endif
290 //
virtual std::string name() const
virtual std::string name() const
virtual double getVal(IDalitzEvent &evt)
SF_AtoSP1_StoP2P3_BASE(const DecayTree &theDecay)
SF_AtoSP1_StoP2P3(const AssociatedDecayTree &theDecay, const int pol)
virtual std::string name() const
SF_VtoSV0_StoP2P3_BASE(const AssociatedDecayTree &theDecay)
MINT::const_counted_ptr< AssociatedDecayTree > S
virtual std::string name() const
virtual double getVal(IDalitzEvent &evt)
SF_VtoAP1_AtoV0P2_BASE(const AssociatedDecayTree &theDecay)
MINT::const_counted_ptr< AssociatedDecayTree > V0
virtual std::string name() const
SF_AtoVP1_VtoP2P3_D(const AssociatedDecayTree &theDecay, const int pol)
virtual double getVal(IDalitzEvent &evt)
MINT::const_counted_ptr< AssociatedDecayTree > S
virtual std::string name() const
SF_VtoV0P1_V0toP2P3(const AssociatedDecayTree &theDecay, const int pol)
SF_VtoV0P1_V0toP2P3_BASE(const AssociatedDecayTree &theDecay)
virtual double getVal(IDalitzEvent &evt)
MINT::const_counted_ptr< AssociatedDecayTree > V
virtual std::string name() const
virtual double getVal(IDalitzEvent &evt)
SF_VtoSV0_StoP2P3(const AssociatedDecayTree &theDecay, const int pol)
virtual std::string name() const
virtual std::string name() const
virtual double getVal(IDalitzEvent &evt)
SF_AtoVP1_VtoP2P3(const AssociatedDecayTree &theDecay, const int pol)
MINT::const_counted_ptr< AssociatedDecayTree > A
SF_AtoVP1_VtoP2P3_BASE(const AssociatedDecayTree &theDecay)
virtual std::string name() const
SF_VtoAP1_AtoV0P2(const AssociatedDecayTree &theDecay, const int pol)