//////////////////////////////////////////////////////////////////////// // File TVirtualData.h // // Initial Author: Maurik Holtrop UNH 11/28/01 // // Vitual base class for TEVNTClass and TGSIMClass // //////////////////////////////////////////////////////////////////////// #ifndef _TVirtualData_ #define _TVirtualData_ #include #include "TObject.h" #include "TString.h" #include "TVector3.h" #include "TMath.h" class TVirtualData: public TObject{ public: Int_t Id; // Particle Data Group ID (from SEB) Char_t Charge; // charge (from tracking) Float_t Betta; // Particle velocity in the units of c (=R_trk/TOF/c) Float_t Px; // Momentum Vector X component. Float_t Py; // Momentum Vector Y component. Float_t Pz; // Momentum Vector Z component. Float_t X; // "Vertex" Vector X component. The vertex is actually a projection onto a plane. Float_t Y; // "Vertex" Vector Y component. The vertex is actually a projection onto a plane. Float_t Z; // "Vertex" Vector Z component. The vertex is actually a projection onto a plane. UChar_t Dcstat; // Index into the TDCPBClass array. UChar_t Ccstat; // Index into the TCCPBClass array. UChar_t Scstat; // Index into the TSCPBClass array. UChar_t Ecstat; // Index into the TECPBClass array. UChar_t Lcstat; // Index into the TLCPBClass array. UChar_t Status; // Status word (=0 for out of time particle) public: TVirtualData(){}; TVirtualData(TVirtualData *TmpEVNT); ~TVirtualData(){}; virtual Int_t GetId(){return(0);}; virtual Char_t GetCharge(){return(0);}; virtual Float_t GetBeta() {return(0);}; virtual Float_t GetPx(){return(0);}; virtual Float_t GetPy(){return(0);}; virtual Float_t GetPz(){return(0);}; virtual Float_t GetX(){return(0);}; virtual Float_t GetY(){return(0);}; virtual Float_t GetZ(){return(0);}; virtual TVector3 GetVertex(){return(TVector3(0,0,0));} virtual TVector3 GetMomVec(){return(TVector3(0,0,0));} virtual Float_t GetMomentum(){return(0);}; virtual Char_t GetDCStat(){return(0);}; virtual Char_t GetCCStat(){return(0);}; virtual Char_t GetSCStat(){return(0);}; virtual Char_t GetECStat(){return(0);}; virtual Char_t GetLCStat(){return(0);}; virtual Char_t GetStat() {return(0);}; virtual Bool_t IsEVNT(){return(kFALSE);}; virtual Bool_t IsGSIM(){return(kFALSE);}; virtual void Print(); // // // // ClassDef(TVirtualData,1) //Class for accessing the EVNT bank: particle information }; #endif