#ifndef TTOFDigit_hxx_seen #define TTOFDigit_hxx_seen #include #include #include #include #include namespace COMET { class ITOFDigit; class ITOFmcDigit; } /// Digit for TOF based detectors. This holds the actual digitization data /// for a TOF channel. class COMET::ITOFDigit : public IDigit { public: ITOFDigit (); virtual ~ITOFDigit(); /// Construct a digit for a particular channel and cycle number. ITOFDigit(COMET::IChannelId chan, int startTick, const std::vector& adcs); /// Get the trigger tick /// Get the first time bin int GetFirstTimeSample() const; // number of time bins in this digit int GetNumberOfTimeSamples() const; /// Get the ADC value for a specific time bin unsigned GetADC(unsigned int t) const; /// vector of ADC counts const std::vector& GetADCs() const; /// Print the digit information. virtual void ls(Option_t* opt = "") const; private: /// the first time bin of the pulse int fFirstTimeSample; /// vector of ADC counts std::vector fADCs; ClassDef(ITOFDigit,1); }; /// A class to hold TOF digits generated by the MC. This inherits all of it's /// functionality form ITOFDigit and IMCDigit. class COMET::ITOFmcDigit : public ITOFDigit, public IMCDigit { public: ITOFmcDigit (); virtual ~ITOFmcDigit(); /// Construct a digit for a particular channel ITOFmcDigit(COMET::IChannelId chan, int startTick, const std::vector& adcs, const COMET::IMCDigit::ContributorContainer& contrib); ClassDef(ITOFmcDigit,1); }; #endif