00001 00023 #ifndef VLDRANGE_H 00024 #define VLDRANGE_H 00025 00026 #include "TObject.h" 00027 #include "TString.h" 00028 #include "Conventions/Detector.h" 00029 #include "Validity/VldTimeStamp.h" 00030 #include <iosfwd> 00031 00032 class VldContext; 00033 00034 class VldRange; 00035 std::ostream& operator<<(std::ostream& os, const VldRange& vldr); 00036 00037 class VldRange : public TObject { 00038 00039 public: 00040 00041 VldRange(); // necessary for streamer io 00042 VldRange(const Int_t detMask, const Int_t simMask, 00043 const VldTimeStamp &tstart, const VldTimeStamp &tend, 00044 const TString &source); 00045 virtual ~VldRange(); 00046 00059 const char* AsString(Option_t *option = "") const; 00060 00063 Bool_t IsCompatible(const VldContext &vldc) const; 00066 Bool_t IsCompatible(const VldContext *vldc) const; 00067 00068 Int_t GetDetectorMask() const { return fDetectorMask; } 00069 Int_t GetSimMask() const { return fSimMask; } 00070 VldTimeStamp GetTimeStart() const { return fTimeStart; } 00071 VldTimeStamp GetTimeEnd() const { return fTimeEnd; } 00072 TString GetDataSource() const { return fDataSource; } 00073 00075 void Print(Option_t *option = "") const; 00076 00079 void TrimTo(const VldRange& vldr); 00080 void SetTimeStart(const VldTimeStamp& tstart) { fTimeStart = tstart; } 00081 void SetTimeEnd(const VldTimeStamp& tend) { fTimeEnd = tend; } 00082 00083 protected: 00084 00085 Int_t fDetectorMask; 00086 Int_t fSimMask; 00087 VldTimeStamp fTimeStart; 00088 VldTimeStamp fTimeEnd; 00089 TString fDataSource; 00090 00091 private: 00092 00093 ClassDef(VldRange,1) // VldRange version 1 00094 }; 00095 00096 #endif // VLDRANGE_H
1.3.9.1