tpc_waveform.hh

Go to the documentation of this file.
00001 
00014 #ifndef TPC_WAVEFORM_HH
00015 #define TPC_WAVEFORM_HH
00016 
00017 #include "data_base.hh"
00018 
00023 class tpc_waveform : public std::vector<PMT::ch_adc_t>, 
00024              public data_base {
00025 
00026 public:
00027 
00029   tpc_waveform(PMT::ch_number_t ch = PMT::INVALID_CH,
00030            size_t len=0) 
00031     : std::vector<PMT::ch_adc_t>(len), 
00032       data_base(),
00033       _channel_number(ch) 
00034   {};
00035 
00037   tpc_waveform(const tpc_waveform& original)
00038     : std::vector<PMT::ch_adc_t>(original),
00039       data_base(original),
00040       _channel_number(original._channel_number)
00041   {};
00042 
00044   void set_channel_number   (PMT::ch_number_t ch)   {_channel_number=ch;};
00045 
00047   PMT::ch_number_t channel_number() const {return _channel_number;};
00048 
00050   virtual void clear_data();
00051 
00053   ~tpc_waveform(){};
00054 
00055 
00056 private:
00057 
00059   void init_vars();
00060 
00061   PMT::ch_number_t _channel_number; 
00062   
00064   ClassDef(tpc_waveform,3)
00066 };
00067 
00068 
00069 
00074 class tpc_wf_collection : public std::vector<tpc_waveform>, 
00075               public data_base {
00076   
00077 public:
00078 
00080   tpc_wf_collection(size_t len = 0) :
00081     std::vector<tpc_waveform>(len), 
00082     data_base()
00083   {};
00084 
00086   tpc_wf_collection(const tpc_wf_collection& original)
00087     : std::vector<tpc_waveform>(original),
00088       data_base(original),
00089       _event_id(original._event_id),
00090       _event_frame_id(original._event_frame_id),
00091       _module_address(original._module_address),
00092       _module_id(original._module_id),
00093       _channel_header_count(original._channel_header_count),
00094       _checksum(original._checksum),
00095       _nwords(original._nwords)
00096   {};
00097 
00099   ~tpc_wf_collection(){};
00100 
00102   void set_event_id(PMT::word_t id)       {_event_id=id;};
00103 
00105   void set_event_frame_id(PMT::word_t id) {_event_frame_id=id;};
00106 
00108   void set_module_address(PMT::word_t id) {_module_address=id;};
00109 
00111   void set_module_id(PMT::word_t id)      {_module_id=id;};
00112 
00114   void set_channel_header_count(size_t n) {_channel_header_count=n;};
00115 
00117   void set_checksum(PMT::word_t sum)      {_checksum=sum;};
00118 
00120   void set_nwords(PMT::word_t n)          {_nwords=n;};
00121 
00123   void set_trigger_frame_id(PMT::word_t id) {_trigger_frame_id=id;};
00124 
00126   void set_trigger_timeslice(PMT::word_t n) {_trigger_timeslice=n;};
00127 
00129   PMT::word_t event_id()       const {return _event_id;};
00130 
00132   PMT::word_t event_frame_id() const {return _event_frame_id;};
00133 
00135   PMT::word_t module_address() const {return _module_address;};
00136 
00138   PMT::word_t module_id()      const {return _module_id;};
00139 
00141   size_t      channel_header_count() const {return _channel_header_count;};
00142 
00144   PMT::word_t checksum()       const {return _checksum;}; 
00145 
00147   PMT::word_t nwords()         const {return _nwords;};
00148 
00150   PMT::word_t trigger_frame_id() const {return _trigger_frame_id;};
00151 
00153   PMT::word_t trigger_timeslice() const {return _trigger_timeslice;};
00154 
00156   virtual void clear_data();
00157 
00158 
00159 private:
00160 
00161   void init_vars();
00163 
00164   PMT::word_t _event_id;             
00165   PMT::word_t _event_frame_id;       
00166   PMT::word_t _module_address;       
00167   PMT::word_t _module_id;            
00168   size_t      _channel_header_count; 
00169 
00170   PMT::word_t _trigger_frame_id;     
00171   PMT::word_t _trigger_timeslice;    
00172 
00173   PMT::word_t _checksum;             
00174   PMT::word_t _nwords;               
00175 
00177   ClassDef(tpc_wf_collection,3)
00179 };
00180 
00181 #endif
00182  // end of doxygen group 

Generated on Mon Apr 7 15:35:12 2014 for MyProject by  doxygen 1.4.7