// McPart.h // Sept 10,1998 Rob Shanks, Stanford Linear Accelerator Center // Oct 25,1999 R.Dubois, Clone from LCD version // #ifndef MCPART #define MCPART #include "TMath.h" #include "TObject.h" #include "TLorentzVector.h" #include "TVector3.h" class McPart: public TObject { private: Int_t m_type; // particle type number Int_t m_status; // status code McPart *m_parnt; // Pointer to McPart object which is parent of particle TLorentzVector* m_InitMom; // Initial momentum (x,y,z,tot) TLorentzVector* m_TermPos; // Termination position (x,y,z,time) Float_t m_charge; // Particle charge public: McPart(); McPart(Int_t ID); McPart(McPart* part); ~McPart(); void SetUpParticle(Int_t type,Float_t charge,Int_t status, McPart* parntptr, TLorentzVector* tmom, TLorentzVector* tpos); Int_t GetType() {return m_type;}; Int_t GetStatus(){return m_status;}; Float_t GetCharge(){return m_charge;}; McPart* GetParnt(){return m_parnt;}; void SetMomentum(TLorentzVector* momentum); TLorentzVector* GetMomentum(){return m_InitMom;}; void SetPosition(TLorentzVector* position); TLorentzVector* GetPosition(){return m_TermPos;}; void SetCharge(Float_t q) {m_charge = q;}; ClassDef(McPart,1)// Monte Carlo particle object }; #endif