00001 #ifndef __StEEmcPair_h__ 00002 #define __StEEmcPair_h__ 00003 00004 #include "TObject.h" 00005 #include "StEEmcPool/StEEmcPointMaker/StEEmcPoint.h" 00006 #include "TVector3.h" 00007 #include <vector> 00008 00009 class StEEmcPair : public TObject { 00010 00011 public: 00012 00014 StEEmcPair(); 00017 StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2); 00019 StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2, const TVector3 &vertex ); 00021 StEEmcPair(const StEEmcPoint &p1, const StEEmcPoint &p2, const TVector3 &vertex1, const TVector3 &vertex2 ); 00023 virtual ~StEEmcPair(){ /* nada */ }; 00024 00026 StEEmcPair( const StEEmcPair &old ); 00027 00030 const StEEmcPoint &point(Int_t index) const { return mPoint[index]; } 00031 00033 Float_t mass() const; 00035 Float_t energy() const; 00037 Float_t zgg() const; 00039 Float_t phigg() const; 00041 Float_t pt() const; 00043 const TVector3 &momentum() const; 00045 const TVector3 &vertex() const; 00046 00048 void print() const; 00049 00050 private: 00051 protected: 00052 00054 void Kinematics(); 00055 00056 Float_t mMass; 00057 Float_t mEnergy; 00058 Float_t mZgg; 00059 Float_t mPhigg; 00060 TVector3 mMomentum; 00062 TVector3 mVertex1; 00063 TVector3 mVertex2; 00064 TVector3 mVertex; 00066 StEEmcPoint mPoint[2]; 00068 00069 ClassDef(StEEmcPair,1); 00070 00071 }; 00072 00073 inline Float_t StEEmcPair::mass() const { return mMass; } 00074 inline Float_t StEEmcPair::energy() const { return mEnergy; } 00075 inline Float_t StEEmcPair::zgg() const { return mZgg; } 00076 inline Float_t StEEmcPair::phigg() const { return mPhigg; } 00077 inline Float_t StEEmcPair::pt() const { return mMomentum.Perp(); } 00078 inline const TVector3 &StEEmcPair::momentum() const { return mMomentum; } 00079 inline const TVector3 &StEEmcPair::vertex() const { return mVertex; } 00080 00081 typedef std::vector< StEEmcPair > StEEmcPairVec_t; 00082 00083 #endif
1.5.9