00001 00009 #ifndef _QBASERAWEVENT_R_HH_ 00010 #define _QBASERAWEVENT_R_HH_ 00011 00012 #include "QEventDataR.hh" 00013 #include <Rtypes.h> 00014 00015 namespace Cuore {class QEvent;} 00016 class QVectorIR; 00017 class QPulseR; 00018 00019 class QBaseRawEventR : public QEventDataR 00020 { 00021 public: 00023 virtual ~QBaseRawEventR() {}; 00024 00026 virtual const QVectorIR& GetSamples() const = 0; 00028 virtual Int_t GetRun() const = 0; 00030 virtual Int_t GetEventNumber() const = 0; 00032 virtual Int_t GetChannelId() const = 0; 00034 virtual double GetNsTime() const = 0; 00036 virtual UInt_t GetStartTimeUnix() const = 0; 00038 virtual Bool_t GetIsBolometer() const = 0; 00040 virtual Bool_t GetIsMuonVeto() const = 0; 00042 virtual UInt_t GetTimedSample() const = 0; 00044 virtual UInt_t GetTriggerPosition() const = 0; 00046 virtual bool GetIsHeater() const = 0; 00048 virtual bool GetIsSignal() const = 0; 00050 virtual bool GetIsNoise() const =0; 00052 virtual const QPulseR& GetSidePulse(Int_t pulseNumber) const = 0; 00054 virtual UInt_t GetNSidePulses() const = 0; 00055 00056 void SetAliases(const std::string& myPath); 00057 00058 virtual Bool_t GetIsApollo() const = 0; 00059 00060 virtual void SetIsApollo(Bool_t isApollo) = 0; 00061 protected: 00062 virtual void Assign(const Cuore::QEvent& qrawevent) = 0; 00063 virtual void Fill(Cuore::QEvent& qrawevent) const = 0; 00064 virtual void SetSpecificAliases(const std::string& myPath); 00066 QBaseRawEventR() {}; 00067 private: 00068 00069 friend class QAEventR; 00070 ClassDef(QBaseRawEventR,1); 00071 00072 }; 00073 00074 #endif