Public Member Functions | Static Public Attributes | Private Attributes | List of all members
recob::OpFlash Class Reference

#include <OpFlash.h>

Public Member Functions

 OpFlash ()=default
 
 OpFlash (double time, double timewidth, double abstime, unsigned int frame, std::vector< double > PEperOpDet, bool InBeamFrame, int OnBeamTime, double FastToTotal, double xCenter, double xWidth, double yCenter, double yWidth, double zCenter, double zWidth, std::vector< double > WireCenters=std::vector< double >(0), std::vector< double > WireWidths=std::vector< double >(0))
 Constructor: all data members directly initialized. More...
 
 OpFlash (double time, double timewidth, double abstime, unsigned int frame, std::vector< double > PEperOpDet, bool InBeamFrame=0, int OnBeamTime=0, double FastToTotal=1, double yCenter=0, double yWidth=0, double zCenter=0, double zWidth=0, std::vector< double > WireCenters=std::vector< double >(0), std::vector< double > WireWidths=std::vector< double >(0))
 Constructor: all data members directly initialized except x coordinate. More...
 
double Time () const
 
double TimeWidth () const
 
double AbsTime () const
 
unsigned int Frame () const
 
double PE (unsigned int i) const
 
std::vector< double > const & PEs () const
 Returns a vector with a number of photoelectrons per channel. More...
 
bool hasXCenter () const
 Returns whether the estimated center on x direction is available. More...
 
double XCenter () const
 Returns the estimated center on x direction (. More...
 
double XWidth () const
 
double YCenter () const
 
double YWidth () const
 
double ZCenter () const
 
double ZWidth () const
 
bool InBeamFrame () const
 
int OnBeamTime () const
 
std::vector< double > const & WireCenters () const
 
std::vector< double > const & WireWidths () const
 
double TotalPE () const
 
double FastToTotal () const
 

Static Public Attributes

static constexpr double NoCenter = std::numeric_limits<double>::max()
 Special value used for absence of center location information. More...
 

Private Attributes

double fTime { 0.0 }
 Time on trigger time scale [us]. More...
 
double fTimeWidth
 Width of the flash in time [us]. More...
 
double fAbsTime
 Time by PMT readout clock. More...
 
unsigned int fFrame
 Frame number. More...
 
std::vector< double > fPEperOpDet
 Number of PE on each PMT. More...
 
std::vector< double > fWireCenters
 Geometric center in each view. More...
 
std::vector< double > fWireWidths
 Geometric width in each view. More...
 
double fXCenter { NoCenter }
 Estimated center in x [cm]. More...
 
double fXWidth { NoCenter }
 Estimated width in x [cm]. More...
 
double fYCenter
 Geometric center in y [cm]. More...
 
double fYWidth
 Geometric width in y [cm]. More...
 
double fZCenter
 Geometric center in z [cm]. More...
 
double fZWidth
 Geometric width in z [cm]. More...
 
double fFastToTotal
 Fast to total light ratio. More...
 
bool fInBeamFrame
 Is this in the beam frame? More...
 
int fOnBeamTime
 Is this in time with beam? More...
 

Detailed Description

Definition at line 20 of file OpFlash.h.

Constructor & Destructor Documentation

recob::OpFlash::OpFlash ( )
default
recob::OpFlash::OpFlash ( double  time,
double  timewidth,
double  abstime,
unsigned int  frame,
std::vector< double >  PEperOpDet,
bool  InBeamFrame,
int  OnBeamTime,
double  FastToTotal,
double  xCenter,
double  xWidth,
double  yCenter,
double  yWidth,
double  zCenter,
double  zWidth,
std::vector< double >  WireCenters = std::vector<double>(0),
std::vector< double >  WireWidths = std::vector<double>(0) 
)

Constructor: all data members directly initialized.

Definition at line 18 of file OpFlash.cxx.

26  : fTime { time }
27  , fTimeWidth { timewidth }
28  , fAbsTime { abstime }
29  , fFrame { frame }
30  , fPEperOpDet { std::move(PEperOpDet) }
31  , fWireCenters { std::move(WireCenters) }
32  , fWireWidths { std::move(WireWidths) }
33  , fXCenter { xCenter }
34  , fXWidth { xWidth }
35  , fYCenter { yCenter }
36  , fYWidth { yWidth }
37  , fZCenter { zCenter }
38  , fZWidth { zWidth }
41  , fOnBeamTime { onBeamTime }
42  {
43  }
std::vector< double > fPEperOpDet
Number of PE on each PMT.
Definition: OpFlash.h:34
double fYCenter
Geometric center in y [cm].
Definition: OpFlash.h:39
double fTime
Time on trigger time scale [us].
Definition: OpFlash.h:30
double FastToTotal() const
Definition: OpFlash.h:119
double fZCenter
Geometric center in z [cm].
Definition: OpFlash.h:41
double fXWidth
Estimated width in x [cm].
Definition: OpFlash.h:38
double fZWidth
Geometric width in z [cm].
Definition: OpFlash.h:42
double fYWidth
Geometric width in y [cm].
Definition: OpFlash.h:40
unsigned int fFrame
Frame number.
Definition: OpFlash.h:33
def move(depos, offset)
Definition: depos.py:107
double fFastToTotal
Fast to total light ratio.
Definition: OpFlash.h:43
double fAbsTime
Time by PMT readout clock.
Definition: OpFlash.h:32
double fXCenter
Estimated center in x [cm].
Definition: OpFlash.h:37
std::vector< double > fWireWidths
Geometric width in each view.
Definition: OpFlash.h:36
bool fInBeamFrame
Is this in the beam frame?
Definition: OpFlash.h:44
int fOnBeamTime
Is this in time with beam?
Definition: OpFlash.h:45
std::vector< double > fWireCenters
Geometric center in each view.
Definition: OpFlash.h:35
double fTimeWidth
Width of the flash in time [us].
Definition: OpFlash.h:31
bool InBeamFrame() const
Definition: OpFlash.h:122
recob::OpFlash::OpFlash ( double  time,
double  timewidth,
double  abstime,
unsigned int  frame,
std::vector< double >  PEperOpDet,
bool  InBeamFrame = 0,
int  OnBeamTime = 0,
double  FastToTotal = 1,
double  yCenter = 0,
double  yWidth = 0,
double  zCenter = 0,
double  zWidth = 0,
std::vector< double >  WireCenters = std::vector<double>(0),
std::vector< double >  WireWidths = std::vector<double>(0) 
)

Constructor: all data members directly initialized except x coordinate.

Definition at line 46 of file OpFlash.cxx.

53  : OpFlash{
54  time, timewidth, abstime, frame,
55  std::move(PEperOpDet), InBeamFrame, onBeamTime, FastToTotal,
56  NoCenter, NoCenter, yCenter, yWidth, zCenter, zWidth,
57  std::move(WireCenters), std::move(WireWidths)
58  }
59  {}
static constexpr double NoCenter
Special value used for absence of center location information.
Definition: OpFlash.h:24
double FastToTotal() const
Definition: OpFlash.h:119
def move(depos, offset)
Definition: depos.py:107
OpFlash()=default
bool InBeamFrame() const
Definition: OpFlash.h:122

Member Function Documentation

double recob::OpFlash::AbsTime ( ) const
inline

Definition at line 108 of file OpFlash.h.

108 { return fAbsTime; }
double fAbsTime
Time by PMT readout clock.
Definition: OpFlash.h:32
double recob::OpFlash::FastToTotal ( ) const
inline

Definition at line 119 of file OpFlash.h.

119 { return fFastToTotal; }
double fFastToTotal
Fast to total light ratio.
Definition: OpFlash.h:43
unsigned int recob::OpFlash::Frame ( ) const
inline

Definition at line 109 of file OpFlash.h.

109 { return fFrame; }
unsigned int fFrame
Frame number.
Definition: OpFlash.h:33
bool recob::OpFlash::hasXCenter ( ) const
inline

Returns whether the estimated center on x direction is available.

Definition at line 112 of file OpFlash.h.

112 { return fXCenter != NoCenter; }
static constexpr double NoCenter
Special value used for absence of center location information.
Definition: OpFlash.h:24
double fXCenter
Estimated center in x [cm].
Definition: OpFlash.h:37
bool recob::OpFlash::InBeamFrame ( ) const
inline

Definition at line 122 of file OpFlash.h.

122 { return fInBeamFrame; }
bool fInBeamFrame
Is this in the beam frame?
Definition: OpFlash.h:44
int recob::OpFlash::OnBeamTime ( ) const
inline

Definition at line 123 of file OpFlash.h.

123 { return fOnBeamTime; }
int fOnBeamTime
Is this in time with beam?
Definition: OpFlash.h:45
double recob::OpFlash::PE ( unsigned int  i) const
inline

Definition at line 110 of file OpFlash.h.

110 { return fPEperOpDet[i]; }
std::vector< double > fPEperOpDet
Number of PE on each PMT.
Definition: OpFlash.h:34
std::vector< double > const & recob::OpFlash::PEs ( ) const
inline

Returns a vector with a number of photoelectrons per channel.

Definition at line 111 of file OpFlash.h.

111 { return fPEperOpDet; }
std::vector< double > fPEperOpDet
Number of PE on each PMT.
Definition: OpFlash.h:34
double recob::OpFlash::Time ( ) const
inline

Definition at line 106 of file OpFlash.h.

106 { return fTime; }
double fTime
Time on trigger time scale [us].
Definition: OpFlash.h:30
double recob::OpFlash::TimeWidth ( ) const
inline

Definition at line 107 of file OpFlash.h.

107 { return fTimeWidth; }
double fTimeWidth
Width of the flash in time [us].
Definition: OpFlash.h:31
double recob::OpFlash::TotalPE ( ) const

Definition at line 68 of file OpFlash.cxx.

69  {
70  return std::accumulate(fPEperOpDet.begin(), fPEperOpDet.end(), 0.0);
71  }
std::vector< double > fPEperOpDet
Number of PE on each PMT.
Definition: OpFlash.h:34
std::vector< double > const & recob::OpFlash::WireCenters ( ) const
inline

Definition at line 120 of file OpFlash.h.

120 { return fWireCenters; }
std::vector< double > fWireCenters
Geometric center in each view.
Definition: OpFlash.h:35
std::vector< double > const & recob::OpFlash::WireWidths ( ) const
inline

Definition at line 121 of file OpFlash.h.

121 { return fWireWidths; }
std::vector< double > fWireWidths
Geometric width in each view.
Definition: OpFlash.h:36
double recob::OpFlash::XCenter ( ) const
inline

Returns the estimated center on x direction (.

See also
hasXCenter()).

Definition at line 113 of file OpFlash.h.

113 { return fXCenter; }
double fXCenter
Estimated center in x [cm].
Definition: OpFlash.h:37
double recob::OpFlash::XWidth ( ) const
inline

Definition at line 114 of file OpFlash.h.

114 { return fXWidth; }
double fXWidth
Estimated width in x [cm].
Definition: OpFlash.h:38
double recob::OpFlash::YCenter ( ) const
inline

Definition at line 115 of file OpFlash.h.

115 { return fYCenter; }
double fYCenter
Geometric center in y [cm].
Definition: OpFlash.h:39
double recob::OpFlash::YWidth ( ) const
inline

Definition at line 116 of file OpFlash.h.

116 { return fYWidth; }
double fYWidth
Geometric width in y [cm].
Definition: OpFlash.h:40
double recob::OpFlash::ZCenter ( ) const
inline

Definition at line 117 of file OpFlash.h.

117 { return fZCenter; }
double fZCenter
Geometric center in z [cm].
Definition: OpFlash.h:41
double recob::OpFlash::ZWidth ( ) const
inline

Definition at line 118 of file OpFlash.h.

118 { return fZWidth; }
double fZWidth
Geometric width in z [cm].
Definition: OpFlash.h:42

Member Data Documentation

double recob::OpFlash::fAbsTime
private

Time by PMT readout clock.

Definition at line 32 of file OpFlash.h.

double recob::OpFlash::fFastToTotal
private

Fast to total light ratio.

Definition at line 43 of file OpFlash.h.

unsigned int recob::OpFlash::fFrame
private

Frame number.

Definition at line 33 of file OpFlash.h.

bool recob::OpFlash::fInBeamFrame
private

Is this in the beam frame?

Definition at line 44 of file OpFlash.h.

int recob::OpFlash::fOnBeamTime
private

Is this in time with beam?

Definition at line 45 of file OpFlash.h.

std::vector< double > recob::OpFlash::fPEperOpDet
private

Number of PE on each PMT.

Definition at line 34 of file OpFlash.h.

double recob::OpFlash::fTime { 0.0 }
private

Time on trigger time scale [us].

Definition at line 30 of file OpFlash.h.

double recob::OpFlash::fTimeWidth
private

Width of the flash in time [us].

Definition at line 31 of file OpFlash.h.

std::vector< double > recob::OpFlash::fWireCenters
private

Geometric center in each view.

Definition at line 35 of file OpFlash.h.

std::vector< double > recob::OpFlash::fWireWidths
private

Geometric width in each view.

Definition at line 36 of file OpFlash.h.

double recob::OpFlash::fXCenter { NoCenter }
private

Estimated center in x [cm].

Definition at line 37 of file OpFlash.h.

double recob::OpFlash::fXWidth { NoCenter }
private

Estimated width in x [cm].

Definition at line 38 of file OpFlash.h.

double recob::OpFlash::fYCenter
private

Geometric center in y [cm].

Definition at line 39 of file OpFlash.h.

double recob::OpFlash::fYWidth
private

Geometric width in y [cm].

Definition at line 40 of file OpFlash.h.

double recob::OpFlash::fZCenter
private

Geometric center in z [cm].

Definition at line 41 of file OpFlash.h.

double recob::OpFlash::fZWidth
private

Geometric width in z [cm].

Definition at line 42 of file OpFlash.h.

constexpr double recob::OpFlash::NoCenter = std::numeric_limits<double>::max()
static

Special value used for absence of center location information.

Definition at line 24 of file OpFlash.h.


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