pulse_info.hh

Go to the documentation of this file.
00001 
00014 #ifndef PULSE_INFO_HH
00015 #define PULSE_INFO_HH
00016 
00017 #include "data_base.hh"
00018 
00023 class pulse_info : public data_base {
00024   
00025 public:
00026 
00028   pulse_info() : data_base(){clear_data();};
00029 
00031   pulse_info(const pulse_info& original) : data_base(original),
00032                        _channel_number(original._channel_number),
00033                        _ped_mean(original._ped_mean),
00034                        _ped_rms(original._ped_rms),
00035                        _pulse_peak(original._pulse_peak),
00036                        _charge(original._charge),
00037                        _start_time(original._start_time),
00038                        _start_time_reco(original._start_time_reco),
00039                        _end_time(original._end_time),
00040                        _max_time(original._max_time),
00041                        _channel_frame_id(original._channel_frame_id),
00042                        _timeslice(original._timeslice),
00043                        _disc_id(original._disc_id)
00044   {};
00045 
00047   void set_channel_number   (PMT::ch_number_t ch)   {_channel_number=ch;};
00048 
00050   void set_ped_mean (double v) {_ped_mean=v;};
00051   
00053   void set_ped_rms  (double v) {_ped_rms=v;};
00054 
00056   void set_pulse_peak (double v) {_pulse_peak=v;};
00057 
00059   void set_charge (double v) {_charge=v;};
00060 
00062   void set_start_time(double v) {_start_time=v;};
00063 
00065   void set_start_time_reco(double v) {_start_time_reco=v;};
00066 
00068   void set_end_time(double v) {_end_time=v;};
00069 
00071   void set_max_time(double v) {_max_time=v;};
00072 
00074   void set_disc_id(PMT::DISCRIMINATOR id) { _disc_id=id; };
00075 
00077   void set_channel_frame_id(PMT::word_t id) { _channel_frame_id=id; };
00078 
00080   void set_timeslice(PMT::word_t t) { _timeslice=t; };
00081 
00083   PMT::ch_number_t channel_number() const {return _channel_number;};
00084 
00086   double ped_mean () const { return _ped_mean;};
00087   
00089   double ped_rms  () const { return _ped_rms;};
00090 
00092   double pulse_peak () const { return _pulse_peak;};
00093 
00095   double charge () const { return _charge;};
00096 
00098   double start_time () const { return _start_time;};
00099 
00101   double start_time_reco () const { return _start_time_reco;};
00102 
00104   double end_time () const { return _end_time;};
00105 
00107   double max_time () const { return _max_time;};
00108 
00110   PMT::DISCRIMINATOR disc_id() const { return _disc_id;};
00111 
00113   PMT::word_t frame_id() const { return _channel_frame_id;};
00114 
00116   PMT::word_t timeslice() const { return _timeslice;};
00117 
00119   virtual void clear_data();
00120 
00122   ~pulse_info(){};
00123 
00124 
00125 private:
00126 
00128   void init_vars();
00129 
00130   PMT::ch_number_t _channel_number; 
00131   double _ped_mean;                 
00132   double _ped_rms;                  
00133   double _pulse_peak;               
00134   double _charge;                   
00135   double _start_time;               
00136   double _start_time_reco;          
00137   double _end_time;                 
00138   double _max_time;                 
00139 
00140   PMT::word_t _channel_frame_id;    
00141   PMT::word_t _timeslice;           
00142   PMT::DISCRIMINATOR _disc_id;      
00143   
00145   ClassDef(pulse_info,3)
00147 };
00148 
00149 
00150 
00155 class pulse_collection : public std::vector<pulse_info>,
00156              public data_base {
00157   
00158 public:
00159 
00161   pulse_collection() : data_base() {clear_data();};
00162 
00164   pulse_collection(const pulse_collection& original)
00165     : std::vector<pulse_info>(original),
00166       data_base(original),
00167       _sum_charge(original._sum_charge),
00168       _sum_peak(original._sum_peak),
00169       _npulse(original._npulse)
00170   {};
00171 
00179   void calculate_sum();
00180 
00182   double sum_charge() const {return _sum_charge;};
00183 
00185   double sum_peak() const   {return _sum_peak;};
00186 
00188   double npulse() const     {return _npulse;};
00189 
00191   void set_sum_charge(double v) {_sum_charge=v;};
00192 
00194   void set_sum_peak(double v)   {_sum_peak=v;};
00195 
00197   void set_npulse(UInt_t v)   {_npulse=v;};
00198 
00200   virtual void clear_data();
00201 
00203   ~pulse_collection(){};
00204 
00205 
00206 private:
00207 
00209   void init_vars();
00210 
00211   double   _sum_charge;  
00212   double   _sum_peak;    
00213   UInt_t _npulse;      
00214   
00216   ClassDef(pulse_collection,1)
00218 };
00219 
00220 #endif
00221  // end of doxygen group 

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