Skip to content
Snippets Groups Projects
THcRawHit.h 2.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef ROOT_THcRawHit
    #define ROOT_THcRawHit
    
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // THcRawHit                                                                 //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
    #include "TObject.h"
    
    class THcRawHit : public TObject {
    
    public:
    
      THcRawHit(Int_t plane=0, Int_t counter=0) :
    
        fPlane(plane), fCounter(counter) {};
    
     THcRawHit( const THcRawHit& rhs ) : TObject(rhs) {}
      THcRawHit& operator=( const THcRawHit& rhs )
    
        { TObject::operator=(rhs);
          if (this != &rhs) { fPlane = rhs.fPlane; fCounter = rhs.fCounter; }
          return *this; };
    
      enum ESignalType { kUndefined, kTDC, kADC};
    
    
      // This line causes problem
      //  virtual void Clear( Option_t* opt="" )=0;
    
      //  virtual Bool_t  operator==( const THcRawHit& ) = 0;
      //  virtual Bool_t  operator!=( const THcRawHit& ) = 0;
    
      virtual void SetData(Int_t signal, Int_t data) {};
    
      virtual void SetSample(Int_t signal, Int_t data) {};
      virtual void SetDataTimePedestalPeak(Int_t signal, Int_t data,
    				       Int_t time, Int_t pedestal, Int_t peak) {};
    
      virtual Int_t GetData(Int_t signal) {return 0;}; /* Ref time subtracted */
      virtual Int_t GetRawData(Int_t signal) {return 0;} /* Ref time not subtracted */
    
      virtual ESignalType GetSignalType(Int_t signal) {return kUndefined;}
      virtual Int_t GetNSignals() { return 1;}
    
    
      virtual void SetReference(Int_t signal, Int_t reference) {};
    
      virtual Bool_t HasReference(Int_t signal) {return kFALSE;};
    
      virtual Int_t GetReference(Int_t signal) {return 0;};
    
      virtual void SetF250Params(Int_t NSA, Int_t NSB, Int_t NPED) {};
    
    
      // Derived objects must be sortable and supply Compare method
    
      //  virtual Bool_t  IsSortable () const {return kFALSE; }
      //  virtual Int_t   Compare(const TObject* obj) const {return 0;}
      virtual Bool_t  IsSortable () const {return kTRUE; }
      virtual Int_t   Compare(const TObject* obj) const;
    
      ClassDef(THcRawHit,0)      // Raw Hit Base Class