StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEEmcPair.h
1 #ifndef __StEEmcPair_h__
2 #define __StEEmcPair_h__
3 
4 #include "TObject.h"
5 #include "StEEmcPool/StEEmcPointMaker/StEEmcPoint.h"
6 #include "TVector3.h"
7 #include <vector>
8 
9 class StEEmcPair : public TObject {
10 
11  public:
12 
14  StEEmcPair();
17  StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2);
19  StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2, const TVector3 &vertex );
21  StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2, const TVector3 &vertex1, const TVector3 &vertex2 );
23  virtual ~StEEmcPair(){ /* nada */ };
24 
26  StEEmcPair( const StEEmcPair &old );
27 
30  const StEEmcPoint &point(Int_t index) const { return mPoint[index]; }
31 
33  Float_t mass() const;
35  Float_t energy() const;
37  Float_t zgg() const;
39  Float_t phigg() const;
41  Float_t pt() const;
43  const TVector3 &momentum() const;
45  const TVector3 &vertex() const;
46 
48  void print() const;
49 
50  private:
51  protected:
52 
54  void Kinematics();
55 
56  Float_t mMass;
57  Float_t mEnergy;
58  Float_t mZgg;
59  Float_t mPhigg;
60  TVector3 mMomentum;
62  TVector3 mVertex1;
63  TVector3 mVertex2;
64  TVector3 mVertex;
70 
71 };
72 
73 inline Float_t StEEmcPair::mass() const { return mMass; }
74 inline Float_t StEEmcPair::energy() const { return mEnergy; }
75 inline Float_t StEEmcPair::zgg() const { return mZgg; }
76 inline Float_t StEEmcPair::phigg() const { return mPhigg; }
77 inline Float_t StEEmcPair::pt() const { return mMomentum.Perp(); }
78 inline const TVector3 &StEEmcPair::momentum() const { return mMomentum; }
79 inline const TVector3 &StEEmcPair::vertex() const { return mVertex; }
80 
81 typedef std::vector< StEEmcPair > StEEmcPairVec_t;
82 
83 #endif
Base class for representing EEMC points.
Definition: StEEmcPoint.h:24
TVector3 mVertex
Definition: StEEmcPair.h:64
StEEmcPoint mPoint[2]
Definition: StEEmcPair.h:66
void print() const
Prints a one-line summary of the pair.
Definition: StEEmcPair.cxx:128
const TVector3 & momentum() const
Returns momentum of pair.
Definition: StEEmcPair.h:78
const TVector3 & vertex() const
Returns vertex of pair.
Definition: StEEmcPair.h:79
void Kinematics()
Called by constructor to reconstruct two-body kinematics.
Definition: StEEmcPair.cxx:71
Float_t mMass
Definition: StEEmcPair.h:56
ClassDef(StEEmcPair, 1)
Makes class available in root.
const StEEmcPoint & point(Int_t index) const
Definition: StEEmcPair.h:30
Float_t mPhigg
Definition: StEEmcPair.h:59
TVector3 mVertex2
Definition: StEEmcPair.h:63
Float_t zgg() const
Returns energy-sharing of pair.
Definition: StEEmcPair.h:75
TVector3 mVertex1
Definition: StEEmcPair.h:62
virtual ~StEEmcPair()
Destructor.
Definition: StEEmcPair.h:23
Float_t energy() const
Returns energy of pair.
Definition: StEEmcPair.h:74
Float_t mass() const
Returns invariant mass of pair.
Definition: StEEmcPair.h:73
Float_t phigg() const
Returns opening-angle of pair.
Definition: StEEmcPair.h:76
StEEmcPair()
Default constructor (don&#39;t use except for placeholder)
Definition: StEEmcPair.cxx:29
Float_t pt() const
Returns pt of pair.
Definition: StEEmcPair.h:77
TVector3 mMomentum
Definition: StEEmcPair.h:60
A class to represent pairs of points.
Definition: StEEmcPair.h:9
Float_t mZgg
Definition: StEEmcPair.h:58
Float_t mEnergy
Definition: StEEmcPair.h:57