LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
pmtana::PMTPedestalBase Class Referenceabstract

#include "PMTPedestalBase.h"

Inheritance diagram for pmtana::PMTPedestalBase:
pmtana::PedAlgoEdges pmtana::PedAlgoRmsSlider pmtana::PedAlgoRollingMean pmtana::PedAlgoUB

Public Member Functions

 PMTPedestalBase (std::string name="noname")
 Default constructor. More...
 
virtual ~PMTPedestalBase ()
 Default destructor. More...
 
const std::string & Name () const
 Name getter. More...
 
bool Evaluate (const pmtana::Waveform_t &wf)
 Method to compute a pedestal. More...
 
double Mean (size_t i) const
 Getter of the pedestal mean value. More...
 
double Sigma (size_t i) const
 Getter of the pedestal standard deviation. More...
 
const pmtana::PedestalMean_tMean () const
 Getter of the pedestal mean value. More...
 
const pmtana::PedestalSigma_tSigma () const
 Getter of the pedestal standard deviation. More...
 

Protected Member Functions

virtual bool ComputePedestal (const ::pmtana::Waveform_t &wf, pmtana::PedestalMean_t &mean_v, pmtana::PedestalSigma_t &sigma_v)=0
 

Private Attributes

std::string _name
 Name. More...
 
pmtana::PedestalMean_t _mean_v
 A variable holder for pedestal mean value. More...
 
pmtana::PedestalSigma_t _sigma_v
 A variable holder for pedestal standard deviation. More...
 

Detailed Description

A base class for pedestal calculation

Definition at line 28 of file PMTPedestalBase.h.

Constructor & Destructor Documentation

pmtana::PMTPedestalBase::PMTPedestalBase ( std::string  name = "noname")

Default constructor.

Definition at line 16 of file PMTPedestalBase.cxx.

16  : _name(name)
17  , _mean_v()
18  , _sigma_v()
19  //**************************************************************
20  {}
std::string _name
Name.
pmtana::PedestalMean_t _mean_v
A variable holder for pedestal mean value.
pmtana::PedestalSigma_t _sigma_v
A variable holder for pedestal standard deviation.
pmtana::PMTPedestalBase::~PMTPedestalBase ( )
virtual

Default destructor.

Definition at line 23 of file PMTPedestalBase.cxx.

25  {}

Member Function Documentation

virtual bool pmtana::PMTPedestalBase::ComputePedestal ( const ::pmtana::Waveform_t wf,
pmtana::PedestalMean_t mean_v,
pmtana::PedestalSigma_t sigma_v 
)
protectedpure virtual

Method to compute pedestal: mean and sigma array should be filled per ADC. The length of each array is guaranteed to be same.

Referenced by Evaluate().

bool pmtana::PMTPedestalBase::Evaluate ( const pmtana::Waveform_t wf)

Method to compute a pedestal.

Definition at line 33 of file PMTPedestalBase.cxx.

References _mean_v, _sigma_v, and ComputePedestal().

Referenced by pmtana::PedAlgoUB::ComputePedestal(), and pmtana::PulseRecoManager::Reconstruct().

35  {
36  _mean_v.resize(wf.size(),0);
37  _sigma_v.resize(wf.size(),0);
38 
39  for(size_t i=0; i<wf.size(); ++i)
40  _mean_v[i] = _sigma_v[i] = 0;
41 
42  const bool res = ComputePedestal(wf, _mean_v, _sigma_v);
43 
44  if(wf.size() != _mean_v.size())
45  throw OpticalRecoException("Internal error: computed pedestal mean array length changed!");
46  if(wf.size() != _sigma_v.size())
47  throw OpticalRecoException("Internal error: computed pedestal sigma array length changed!");
48 
49  return res;
50  }
pmtana::PedestalMean_t _mean_v
A variable holder for pedestal mean value.
virtual bool ComputePedestal(const ::pmtana::Waveform_t &wf, pmtana::PedestalMean_t &mean_v, pmtana::PedestalSigma_t &sigma_v)=0
pmtana::PedestalSigma_t _sigma_v
A variable holder for pedestal standard deviation.
double pmtana::PMTPedestalBase::Mean ( size_t  i) const

Getter of the pedestal mean value.

Definition at line 53 of file PMTPedestalBase.cxx.

References _mean_v, and ss.

Referenced by pmtana::PedAlgoUB::ComputePedestal(), and pmtana::PulseRecoManager::Reconstruct().

55  {
56  if(i > _mean_v.size()) {
57  std::stringstream ss;
58  ss << "Invalid index: no pedestal mean exist @ " << i;
59  throw OpticalRecoException(ss.str());
60  }
61  return _mean_v[i];
62  }
Float_t ss
Definition: plot.C:23
pmtana::PedestalMean_t _mean_v
A variable holder for pedestal mean value.
const PedestalMean_t & pmtana::PMTPedestalBase::Mean ( ) const

Getter of the pedestal mean value.

Definition at line 77 of file PMTPedestalBase.cxx.

References _mean_v.

79  { return _mean_v; }
pmtana::PedestalMean_t _mean_v
A variable holder for pedestal mean value.
const std::string & pmtana::PMTPedestalBase::Name ( ) const

Name getter.

Definition at line 28 of file PMTPedestalBase.cxx.

References _name.

30  { return _name;}
std::string _name
Name.
double pmtana::PMTPedestalBase::Sigma ( size_t  i) const

Getter of the pedestal standard deviation.

Definition at line 65 of file PMTPedestalBase.cxx.

References _sigma_v, and ss.

Referenced by pmtana::PedAlgoUB::ComputePedestal(), and pmtana::PulseRecoManager::Reconstruct().

67  {
68  if(i > _sigma_v.size()) {
69  std::stringstream ss;
70  ss << "Invalid index: no pedestal sigma exist @ " << i;
71  throw OpticalRecoException(ss.str());
72  }
73  return _sigma_v[i];
74  }
Float_t ss
Definition: plot.C:23
pmtana::PedestalSigma_t _sigma_v
A variable holder for pedestal standard deviation.
const PedestalSigma_t & pmtana::PMTPedestalBase::Sigma ( ) const

Getter of the pedestal standard deviation.

Definition at line 82 of file PMTPedestalBase.cxx.

References _sigma_v.

84  { return _sigma_v; }
pmtana::PedestalSigma_t _sigma_v
A variable holder for pedestal standard deviation.

Member Data Documentation

pmtana::PedestalMean_t pmtana::PMTPedestalBase::_mean_v
private

A variable holder for pedestal mean value.

Definition at line 72 of file PMTPedestalBase.h.

Referenced by Evaluate(), and Mean().

std::string pmtana::PMTPedestalBase::_name
private

Name.

Definition at line 69 of file PMTPedestalBase.h.

Referenced by Name().

pmtana::PedestalSigma_t pmtana::PMTPedestalBase::_sigma_v
private

A variable holder for pedestal standard deviation.

Definition at line 75 of file PMTPedestalBase.h.

Referenced by Evaluate(), and Sigma().


The documentation for this class was generated from the following files: