#ifndef TCDCmcDigit_hxx_seen
#define TCDCmcDigit_hxx_seen

#include <ICDCDigit.hxx>
#include <IMCDigit.hxx>

namespace COMET { class ICDCmcDigit; }

/// A class to hold CDC digits generated by the MC.  This inherits all of it's
/// functionality form ICDCDigit and IMCDigit.
class COMET::ICDCmcDigit : public ICDCDigit, public IMCDigit {
public:

    ICDCmcDigit ();
    virtual ~ICDCmcDigit();

    /// Construct a digit for a particular channel
    ICDCmcDigit(COMET::IChannelId chan,
                short startTime,
                const std::vector<short>& adcs,
                const COMET::IMCDigit::ContributorContainer& contrib);
    ICDCmcDigit(COMET::IChannelId chan,
                short startTime,
                const std::vector<short>& adcs,
    const double& inducedCharge,
                const COMET::IMCDigit::PAIContributorContainer& contrib);

    double GetTotalCharge() { return fTotalCharge; }

    const PAIContributorContainer& GetPAIContributors() const {
      return fPAIContributors;
    }
private:
    double fTotalCharge;

    ClassDef(ICDCmcDigit,1);
};
#endif