MINT2
SpinFactor3.h
Go to the documentation of this file.
1 #ifndef SPINFACTOR_THREE_BODY_HH
2 #define SPINFACTOR_THREE_BODY_HH
3 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
4 // status: Mon 9 Feb 2009 19:18:13 GMT
5 
6 #include "Mint/SpinFactor.h"
7 #include "Mint/counted_ptr.h"
8 #include <iostream>
9 
10 class SpinFactor3 : public SpinFactor{
11  protected:
14  int _spin;
16  bool parseTree(const DalitzEventPattern& pat);
17 
18  double nonResVal() const{return 1;}
19  double spinZeroVal() const{ return 1;}
20  double GSSpinFactor(IDalitzEvent& evt);
21  double spinOneVal(IDalitzEvent& evt);
22  double spinTwoVal(IDalitzEvent& evt);
23 
24  double spinOneFromMasses(IDalitzEvent& evt); //db
25  double spinTwoFromMasses(IDalitzEvent& evt); //db
26 
27  double spinOneFromZemach(IDalitzEvent& evt); //experimental
28 
29  bool setSpin();
30 
31  public:
33  : SpinFactor(theDecay, 3)
34  , R(0)
35  , _spin(-1)
36  , _nonResonant(false)
37  {
38  // we'll do the parsing now when we see the 1st event.
39  //if( ! parseTree()){
40  //throw "error in parseTree in constructor of SpinFactor3";
41  //}
42  }
43 
44  virtual double getVal(IDalitzEvent& evt);
45  static const DecayTree& getExampleDecay();
46  virtual const DecayTree& exampleDecay();
47  virtual std::string name() const{
48  return "SpinFactor3(" + theDecay().oneLiner() + ")";
49  }
50  virtual void printYourself(std::ostream& os = std::cout)const;
51  virtual ~SpinFactor3(){}
52 };
53 
54 #endif
55 //
bool setSpin()
Definition: SpinFactor3.cpp:35
virtual ~SpinFactor3()
Definition: SpinFactor3.h:51
double spinOneFromZemach(IDalitzEvent &evt)
double spinOneFromMasses(IDalitzEvent &evt)
static DecayTree * _exampleDecay
Definition: SpinFactor3.h:12
double nonResVal() const
Definition: SpinFactor3.h:18
bool parseTree(const DalitzEventPattern &pat)
Definition: SpinFactor3.cpp:58
virtual double getVal(IDalitzEvent &evt)
MINT::const_counted_ptr< AssociatedDecayTree > R
Definition: SpinFactor3.h:13
double spinZeroVal() const
Definition: SpinFactor3.h:19
virtual void printYourself(std::ostream &os=std::cout) const
Definition: SpinFactor3.cpp:95
double GSSpinFactor(IDalitzEvent &evt)
bool _nonResonant
Definition: SpinFactor3.h:15
Definition: DDTree.h:37
double spinTwoFromMasses(IDalitzEvent &evt)
const AssociatedDecayTree & theDecay() const
Definition: SpinFactor.h:50
double spinOneVal(IDalitzEvent &evt)
static const DecayTree & getExampleDecay()
Definition: SpinFactor3.cpp:22
SpinFactor3(const AssociatedDecayTree &theDecay)
Definition: SpinFactor3.h:32
void oneLiner(std::stringstream &seam, int generation=0) const
Definition: DDTree.h:375
double spinTwoVal(IDalitzEvent &evt)
virtual std::string name() const
Definition: SpinFactor3.h:47
virtual const DecayTree & exampleDecay()
Definition: SpinFactor3.cpp:31