00001 #ifndef EmcDigi_H 00002 #define EmcDigi_H 00003 #include <vector> 00004 #include "GaudiKernel/ObjectVector.h" 00005 #include "RawEvent/RawData.h" 00006 #include "EventModel/EventModel.h" 00007 00008 using namespace EventModel; 00009 extern const CLID& CLID_EmcDigi; 00010 00011 /* 00012 * 00013 */ 00014 00015 class EmcDigi : public RawData { 00016 public: 00017 // Constructor 00018 EmcDigi(const Identifier& id, const unsigned int timeChannel, const unsigned int chargeChannel); 00019 EmcDigi(const Identifier& id, const unsigned int timeChannel, const unsigned int chargeChannel, 00020 const unsigned int measure); 00021 EmcDigi(const unsigned int id); 00022 00023 // Set Measure Word 00024 void setMeasure(const unsigned int measure) { m_measure = measure; } 00025 00026 // Get Measure Word 00027 unsigned int getMeasure() const { return m_measure; } 00028 00029 // Retrieve reference to class definition structure 00030 virtual const CLID& clID() const { return EmcDigi::classID(); } 00031 static const CLID& classID() { return CLID_EmcDigi; } 00032 00033 // Add two signals, using waveform 00034 EmcDigi &operator+=(const EmcDigi &); 00035 00036 virtual std::ostream& fillStream( std::ostream& s ) const; 00037 00038 private: 00039 unsigned int m_measure; 00040 00041 }; 00042 00043 typedef ObjectVector<EmcDigi> EmcDigiCol; 00044 00045 inline std::ostream& EmcDigi::fillStream( std::ostream& s ) const { 00046 s << "class EmcDigi :" << std::endl 00047 << " m_id: " << m_intId 00048 << " m_timeChannel: " << m_timeChannel 00049 << " m_chargeChannel: " << m_chargeChannel 00050 << " m_measure: " << m_measure 00051 << std::endl; 00052 return s; 00053 } 00054 #endif