BeamlineDigit.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////
2 /// \file BeamlineDigit.h
3 /// \brief Encapsulation of reconstructed digitizer 'hits'. Used for
4 /// ToF PMTs and SiPMs, and Cherenkov and Muon Stack PMTs.
5 /// Part of beamline reconstruction for NOvA test beam.
6 /// \author Mike Wallbank (University of Cincinnati) <wallbank@fnal.gov>
7 /// \date November 2018
8 ////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef BRBBEAMLINEDIGIT_H
11 #define BRBBEAMLINEDIGIT_H
12 
13 // framework
14 
15 // stl
16 
17 // root
19 
20 // -----------------------------------------------------------------------
21 namespace brb {
22 
23  // -----------------------------------------------------------------------
24  class BeamlineDigit {
25 
26  public:
27  BeamlineDigit();
29  double start_time_ns,
30  double peak_time_ns,
31  double end_time_ns,
32  int peak_adc,
33  int amplitude_adc,
34  double area_adcns,
35  double width_ns);
36 
38  double StartTimeInNanoSec() const;
39  double PeakTimeInNanoSec() const;
40  double EndTimeInNanoSec() const;
41  int PeakADC() const;
42  int AmplitudeInADC() const;
43  double AreaInADCNanoSec() const;
44  double WidthInNanoSec() const;
45 
47  // --------------------------------------------------------------
48  // NOTICE: The zero reference point for all of the following time
49  // variables is the first tick of the digitized waveforms.
50  void SetStartTimeInNanoSec(double time_ns);
51  void SetPeakTimeInNanoSec(double time_ns);
52  void SetEndTimeInNanoSec(double time_ns);
53  // --------------------------------------------------------------
54  void SetPeakADC(int adc);
55  void SetAmplitudeInADC(int adc);
56  void SetAreaInADCNanoSec(double area_adcns);
57  void SetWidthInNanoSec(double width_ns);
58 
59  private:
60 
65  int fPeakADC;
69 
70  };
71 
72 } // namespace
73 
74 #endif
void SetEndTimeInNanoSec(double time_ns)
void SetPeakTimeInNanoSec(double time_ns)
double AreaInADCNanoSec() const
int AmplitudeInADC() const
void SetWidthInNanoSec(double width_ns)
void SetStartTimeInNanoSec(double time_ns)
double StartTimeInNanoSec() const
double WidthInNanoSec() const
Definition of the beamline offline geometry. Also implementation of a service to obtain this informat...
beamlinegeo::ChannelID fChannelID
Definition: BeamlineDigit.h:61
double fStartTimeInNanoSec
Definition: BeamlineDigit.h:62
void SetAmplitudeInADC(int adc)
int PeakADC() const
double EndTimeInNanoSec() const
void SetChannelID(beamlinegeo::ChannelID channel)
beamlinegeo::ChannelID ChannelID() const
double PeakTimeInNanoSec() const
void SetPeakADC(int adc)
void SetAreaInADCNanoSec(double area_adcns)