larlight::event_pulse Class Reference

PMT-wise data member class to hold a collection of ADC samples. More...

#include <pulse.hh>

Inheritance diagram for larlight::event_pulse:
larlight::event_base larlight::data_base

List of all members.

Public Member Functions

 event_pulse (DATA::DATA_TYPE type=DATA::Pulse)
 Default constructor.
 event_pulse (const event_pulse &original)
 Default copy constructor.
void calculate_sum ()
 Method to calculate summed variables This iterates over stored pulse and sum charge, peark height, and # pulses.
double sum_charge () const
 Getter for charge sum.
double sum_peak () const
 Getter for summed peak.
double npulse () const
 Getter for summed # of pulses.
void set_sum_charge (double v)
 Setter for charge sum.
void set_sum_peak (double v)
 Setter for summed peak.
void set_npulse (UInt_t v)
 Setter for number of pulses.
virtual void clear_data ()
 Method to clear currently held data contents in the buffer.
 ~event_pulse ()
 Default destructor.
void set_run (UInt_t run)
 run number setter
void set_subrun (UInt_t run)
 sub-run number setter
void set_event_id (UInt_t id)
 event-id setter
UInt_t run () const
 run number getter
UInt_t subrun () const
 sub-run number getter
UInt_t event_id () const
 event-id getter
DATA::DATA_TYPE data_type () const
 data type getter
void add_association (DATA::DATA_TYPE type, const std::vector< unsigned short > ass)
 Adder for a set of association.
size_t size_association (DATA::DATA_TYPE type) const
 Getter for # of associations.
const std::vector< unsigned short > association (DATA::DATA_TYPE type, size_t index=0) const
 Getter of an association.

Protected Attributes

UInt_t fRunNumber
 Run number.
UInt_t fSubRunNumber
 Sub-Run number.
UInt_t fEventID
 Event ID.
DATA::DATA_TYPE _type
 DATA_TYPE.
std::map
< larlight::DATA::DATA_TYPE,
std::vector< std::vector
< unsigned short > > > 
_ass
 Association storage ... allow multiple set of associations.

Private Member Functions

void init_vars ()
 Internal function to reset variables.

Private Attributes

double _sum_charge
 summed charge from each pulse
double _sum_peak
 summed peak from each pulse
UInt_t _npulse
 summed number of pulses stored

Detailed Description

PMT-wise data member class to hold a collection of ADC samples.

Definition at line 145 of file pulse.hh.


Constructor & Destructor Documentation

larlight::event_pulse::event_pulse ( DATA::DATA_TYPE  type = DATA::Pulse  ) 

Default constructor.

Definition at line 41 of file pulse.cc.

References larlight::data_base::_type, clear_data(), larlight::DATA::DATA_TREE_NAME, larlight::MSG::ERROR, larlight::DATA::PMTPulse_FixedWin, larlight::DATA::PMTPulse_ThresWin, larlight::DATA::Pulse, larlight::Message::send(), larlight::DATA::TPCPulse_FixedWin, and larlight::DATA::TPCPulse_ThresWin.

00041                                              : std::vector<larlight::pulse>(),
00042                            event_base(type) 
00043   {
00044     if(_type!=DATA::PMTPulse_FixedWin && 
00045        _type!=DATA::TPCPulse_FixedWin &&
00046        _type!=DATA::PMTPulse_ThresWin &&
00047        _type!=DATA::TPCPulse_ThresWin &&
00048        _type!=DATA::Pulse ) {
00049 
00050       Message::send(MSG::ERROR,__FUNCTION__,
00051             Form("Provided data type (%s) not supported! Reset to default.",DATA::DATA_TREE_NAME[_type].c_str()));           
00052 
00053       _type=DATA::Pulse;
00054 
00055     }
00056     clear_data();
00057   };               

larlight::event_pulse::event_pulse ( const event_pulse original  )  [inline]

Default copy constructor.

Definition at line 154 of file pulse.hh.

00155       : std::vector<larlight::pulse>(original),
00156     event_base(original),
00157     _sum_charge(original._sum_charge),
00158     _sum_peak(original._sum_peak),
00159     _npulse(original._npulse)
00160     {}

larlight::event_pulse::~event_pulse (  )  [inline]

Default destructor.

Definition at line 193 of file pulse.hh.

00193 {}


Member Function Documentation

void larlight::data_base::add_association ( DATA::DATA_TYPE  type,
const std::vector< unsigned short >  ass 
) [inherited]

Adder for a set of association.

Definition at line 9 of file data_base.cc.

References larlight::data_base::_ass.

00011   {
00012 
00013     if( _ass.find(type) == _ass.end() )
00014       
00015       _ass[type]=std::vector<std::vector<unsigned short> >();
00016     
00017     _ass[type].push_back(ass);
00018     
00019     
00020   }

const std::vector< unsigned short > larlight::data_base::association ( DATA::DATA_TYPE  type,
size_t  index = 0 
) const [inherited]

Getter of an association.

Definition at line 35 of file data_base.cc.

References larlight::DATA::DATA_TREE_NAME, larlight::MSG::ERROR, and larlight::Message::send().

00037   {
00038     
00039     size_t ass_length = size_association(type);
00040     
00041     if( !(ass_length) ) {
00042       
00043       Message::send(MSG::ERROR,__FUNCTION__,
00044             Form("There is no association to %s",DATA::DATA_TREE_NAME[type].c_str()));
00045       
00046       return std::vector<unsigned short>();
00047       
00048     }
00049     
00050     if( ass_length <= index ) {
00051       
00052       Message::send(MSG::ERROR,__FUNCTION__,
00053             Form("There are only %zu associations. No association @ index=%zu",ass_length,index));
00054       
00055       return std::vector<unsigned short>();
00056       
00057     }
00058     
00059     return ((_ass.find(type))->second).at(index);
00060   }

void larlight::event_pulse::calculate_sum (  ) 

Method to calculate summed variables This iterates over stored pulse and sum charge, peark height, and # pulses.

Note that, if a user is responsible for storing all pulses, it is faster if a user calculate this sum as (s)he stores pulses, then use setter functions for each parameters to set a value. This method is useful in case a user looses a track OR a user wish to re-calculate the sum on stored pulse for some reasons.

Definition at line 69 of file pulse.cc.

References _npulse, _sum_charge, and _sum_peak.

00069                                  {
00070 
00071     std::vector<pulse>::const_iterator iter(this->begin());
00072     _sum_charge=0;
00073     _sum_peak=0;
00074     _npulse=0;
00075     while(iter!=this->end()){
00076 
00077       _sum_charge+=(*iter).charge();
00078       _sum_peak+=(*iter).pulse_peak();
00079       _npulse++;
00080     }
00081 
00082   }

void larlight::event_pulse::clear_data (  )  [virtual]

Method to clear currently held data contents in the buffer.

Reimplemented from larlight::event_base.

Definition at line 59 of file pulse.cc.

References _npulse, _sum_charge, and _sum_peak.

Referenced by event_pulse().

00059                               {
00060 
00061     event_base::clear_data();
00062     clear();
00063     _sum_charge=-1;
00064     _sum_peak=-1;
00065     _npulse=0;
00066 
00067   }

DATA::DATA_TYPE larlight::event_base::data_type (  )  const [inline, inherited]

data type getter

Reimplemented from larlight::data_base.

Definition at line 112 of file data_base.hh.

References larlight::data_base::_type.

00112 {return _type; }

UInt_t larlight::event_base::event_id (  )  const [inline, inherited]

event-id getter

Definition at line 110 of file data_base.hh.

References larlight::event_base::fEventID.

Referenced by main(), and larlight::storage_manager::read_event().

00110 { return fEventID;      }

void larlight::event_pulse::init_vars (  )  [private]

Internal function to reset variables.

double larlight::event_pulse::npulse (  )  const [inline]

Getter for summed # of pulses.

Definition at line 178 of file pulse.hh.

References _npulse.

00178 {return _npulse;}

UInt_t larlight::event_base::run (  )  const [inline, inherited]

run number getter

Definition at line 106 of file data_base.hh.

References larlight::event_base::fRunNumber.

00106 { return fRunNumber;    }

void larlight::event_base::set_event_id ( UInt_t  id  )  [inline, inherited]

event-id setter

Definition at line 103 of file data_base.hh.

References larlight::event_base::fEventID.

Referenced by main().

00103 { fEventID      = id;  }

void larlight::event_pulse::set_npulse ( UInt_t  v  )  [inline]

Setter for number of pulses.

Definition at line 187 of file pulse.hh.

References _npulse.

00187 {_npulse=v;}

void larlight::event_base::set_run ( UInt_t  run  )  [inline, inherited]

run number setter

Definition at line 99 of file data_base.hh.

References larlight::event_base::fRunNumber.

Referenced by main().

00099 { fRunNumber    = run; }

void larlight::event_base::set_subrun ( UInt_t  run  )  [inline, inherited]

sub-run number setter

Definition at line 101 of file data_base.hh.

References larlight::event_base::fSubRunNumber.

Referenced by main().

00101 { fSubRunNumber = run; }

void larlight::event_pulse::set_sum_charge ( double  v  )  [inline]

Setter for charge sum.

Definition at line 181 of file pulse.hh.

References _sum_charge.

00181 {_sum_charge=v;}

void larlight::event_pulse::set_sum_peak ( double  v  )  [inline]

Setter for summed peak.

Definition at line 184 of file pulse.hh.

References _sum_peak.

00184 {_sum_peak=v;}

size_t larlight::data_base::size_association ( DATA::DATA_TYPE  type  )  const [inherited]

Getter for # of associations.

Definition at line 23 of file data_base.cc.

Referenced by larlight::cluster::get_hit_type().

00025   {
00026     
00027     if( _ass.find(type) == _ass.end() ) return 0;
00028     
00029     return ((_ass.find(type))->second).size();
00030     //return _ass[type].size();
00031     
00032   }

UInt_t larlight::event_base::subrun (  )  const [inline, inherited]

sub-run number getter

Definition at line 108 of file data_base.hh.

References larlight::event_base::fSubRunNumber.

00108 { return fSubRunNumber; }

double larlight::event_pulse::sum_charge (  )  const [inline]

Getter for charge sum.

Definition at line 172 of file pulse.hh.

References _sum_charge.

00172 {return _sum_charge;}

double larlight::event_pulse::sum_peak (  )  const [inline]

Getter for summed peak.

Definition at line 175 of file pulse.hh.

References _sum_peak.

00175 {return _sum_peak;}


Member Data Documentation

std::map<larlight::DATA::DATA_TYPE,std::vector<std::vector<unsigned short> > > larlight::data_base::_ass [protected, inherited]

Association storage ... allow multiple set of associations.

Definition at line 65 of file data_base.hh.

Referenced by larlight::data_base::add_association(), and larlight::data_base::clear_data().

summed number of pulses stored

Definition at line 203 of file pulse.hh.

Referenced by calculate_sum(), clear_data(), npulse(), and set_npulse().

summed charge from each pulse

Definition at line 201 of file pulse.hh.

Referenced by calculate_sum(), clear_data(), set_sum_charge(), and sum_charge().

summed peak from each pulse

Definition at line 202 of file pulse.hh.

Referenced by calculate_sum(), clear_data(), set_sum_peak(), and sum_peak().

DATA_TYPE.

Definition at line 62 of file data_base.hh.

Referenced by larlight::calorimetry::calorimetry(), larlight::cluster::cluster(), larlight::data_base::data_base(), larlight::event_base::data_type(), larlight::data_base::data_type(), larlight::endpoint2d::endpoint2d(), larlight::event_calorimetry::event_calorimetry(), larlight::event_cluster::event_cluster(), larlight::event_endpoint2d::event_endpoint2d(), larlight::event_fifo::event_fifo(), larlight::event_hit::event_hit(), larlight::event_mcpart::event_mcpart(), larlight::event_mcshower::event_mcshower(), larlight::event_mctruth::event_mctruth(), event_pulse(), larlight::event_shower::event_shower(), larlight::event_simch::event_simch(), larlight::event_sps::event_sps(), larlight::event_track::event_track(), larlight::event_user::event_user(), larlight::event_vertex::event_vertex(), larlight::event_wire::event_wire(), larlight::fifo::fifo(), larlight::hit::hit(), larlight::mcnu::mcnu(), larlight::mcpart::mcpart(), larlight::mcshower::mcshower(), larlight::mctrajectory::mctrajectory(), larlight::mctruth::mctruth(), larlight::pmtfifo::pmtfifo(), larlight::pulse::pulse(), larlight::fifo::readout_sample_number_16MHz(), larlight::fifo::readout_sample_number_2MHz(), larlight::fifo::readout_sample_number_64MHz(), larlight::shower::shower(), larlight::simch::simch(), larlight::spacepoint::spacepoint(), larlight::tpcfifo::tpcfifo(), larlight::track::track(), larlight::trigger::trigger(), larlight::user_info::user_info(), larlight::vertex::vertex(), and larlight::wire::wire().

UInt_t larlight::event_base::fEventID [protected, inherited]
UInt_t larlight::event_base::fRunNumber [protected, inherited]
UInt_t larlight::event_base::fSubRunNumber [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator

Generated on 3 Jun 2014 for MyProject by  doxygen 1.6.1