#ifndef STNTUPLE_TStnTofMatch #define STNTUPLE_TStnTofMatch #ifdef __GNUG__ #pragma interface #endif #include #include #include "TObject.h" class TofMatches; class TStnTrack; class StorableObject; class TStnTofMatch : public TObject { public: //---------------------------------------------------------------------------- // Constructor and Destructor //---------------------------------------------------------------------------- TStnTofMatch(Int_t Number = -1); //TStnTofMatch(TStnTofMatch *right); virtual ~TStnTofMatch(); //---------------------------------------------------------------------------- // Helpers //---------------------------------------------------------------------------- virtual void Reset (); // Properties of the Tof //---------------------- // TOF info Int_t TofNPulses () const { return fTofNPulses;} Float_t PathLength () const { return fPathLength;} Float_t ArcLength () const { return fArcLength;} Float_t Momentum () const { return fMomentum;} Float_t Pt () const { return fPt;} Float_t ArrivalTime () const { return fArrivalTime;} Float_t ArrivalTimeError() const { return fArrivalTimeError;} Float_t Tof () const { return fTof;} Float_t TofErr () const { return fTofErr;} Float_t TofTZero () const { return fTZero;} Float_t TofTZeroError() const { return fTZeroError;} Float_t TofTZeroZpos () const { return fTZeroZpos;} Float_t TofZBar () const { return fTofZBar;} Int_t TofNBar () const { return fTofNBar;} Int_t Number () { return fNumber; } void SetTrackNumber(Int_t It ) { fTrind = (fTrind & 0xffff0000) | (It & 0xffff); } Int_t TrackNumber () const { short it = fTrind & 0xffff; return it; } void SetNumber(Int_t n) { fNumber = n; } //----------------------------------------------------------------------------- // overloaded functions of TObject //----------------------------------------------------------------------------- virtual Bool_t IsSortable() const { return kTRUE; } virtual Int_t Compare(const TObject* match) const; virtual void Print(Option_t* opt = "") const; //---------------------------------------------------------------------------- // Accessors for the linking blocks (AC++ use only) //---------------------------------------------------------------------------- TofMatches* GetTofMatches() { return fTofMatches; } TStnTrack* Track () const { return fTrack;} //----------------------------------------------------------------------------- // accessors for transient-only data members - make sure those are // initialized - initialization is up to you! //----------------------------------------------------------------------------- //---------------------------------------------------------------------------- // The real content visible to the outside //---------------------------------------------------------------------------- Short_t fNumber; // sequential number of this TofMatch Int_t fTofNPulses; Float_t fPathLength; Float_t fArcLength; Float_t fMomentum; Float_t fArrivalTime; Float_t fArrivalTimeError; Float_t fTof; Float_t fTofErr; Float_t fTZero; Float_t fTZeroError; Float_t fTZeroZpos; Float_t fTofZBar; Int_t fTofNBar; Int_t fTrind; // sequential number of the associated track Float_t fPt; //----------------------------------------------------------------------------- // transient-only data members - make sure they are set at run-time // before you started using them //----------------------------------------------------------------------------- TStnTrack* fTrack; // For the matching with the stables (not written to the ntuple TofMatches* fTofMatches; //! also the end of persistent record //protected: // Backward compatibility ClassDef(TStnTofMatch,2) }; #endif