#ifndef TMCDigit_hxx_seen #define TMCDigit_hxx_seen #include #include #include namespace COMET { class IMCDigit; class IG4VHit; } /// An abstract base class for digits generated by the MC. This is multiply /// inherited by objects for each of the detector digit types. class COMET::IMCDigit { public: /// Contributor list type typedef std::set ContributorContainer; /// Contributor list type typedef std::set PAIContributorContainer; IMCDigit (); virtual ~IMCDigit(); /// Construct a digit for a particular channel and cycle number. explicit IMCDigit(const COMET::IMCDigit::ContributorContainer& contrib); explicit IMCDigit(const COMET::IMCDigit::PAIContributorContainer& contrib) ; /// Return the MC information for the raw MC hits that contributed to this /// digit. virtual const ContributorContainer& GetContributors() const { return fContributors; } virtual const PAIContributorContainer& GetPAIContributors() const { return fPAIContributors; } protected: /// The MC hits that contributed to this digit. ContributorContainer fContributors; PAIContributorContainer fPAIContributors; }; #endif