#ifndef STNTUPLE_TStnLepton #define STNTUPLE_TStnLepton #ifdef __GNUG__ #pragma interface #endif // Required by KCC4.0 to fix minor scope injection problems in root v2.24 class TMatrixRow; class TMatrixColumn; class TMatrixDiag; #include "TLorentzVector.h" class GENP_PARTICLE; class TStnLepton : public TObject { public: enum { kElectron = 0, kMuon = 1, kTau = 2 }; //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ TLorentzVector fMomentum; Float_t fCharge; Int_t fGenpNumber; // GENP number for now Int_t fObspNumber; // GENP number for now //------------------------------------------------------------------------------ // functions //------------------------------------------------------------------------------ // ****** constructors and destructor TStnLepton(); TStnLepton(GENP_PARTICLE* mc); virtual ~TStnLepton(); // ****** init methods // ****** accessors const TLorentzVector* Momentum () const { return &fMomentum; } Float_t Charge () const { return fCharge; } Int_t GenpNumber() const { return fGenpNumber; } Int_t ObspNumber() const { return fObspNumber; } virtual Int_t Type () const { return -1; } // ****** modifiers void SetGenpNumber(int mc) { fGenpNumber = mc; } void SetObspNumber(int mc) { fObspNumber = mc; } // ****** overloaded methods of TObject virtual void Copy(TObject& Obj) const; // ****** schema evolution void ReadV1(TBuffer& R__b); // V2: fMcNumber replaced with // fObspNumber and fGenpNumber ClassDef(TStnLepton,2) }; #endif