ChannelDataGroup.h
Go to the documentation of this file.
1 /// ChannelDataGroup.h
2 /// William Seligman <seligman@nevis.columbia.edu>
3 ///
4 /// This a general container class for vectors of ADC counts. It can
5 /// be used for collections of ADC counts from the PMTS, channels
6 /// output by the Front End Modules (FEMs), etc.
7 ///
8 
9 #ifndef optdata_ChannelDataGroup_h
10 #define optdata_ChannelDataGroup_h
11 
12 // LArSoft includes
15 
16 // C++ includes
17 #include <vector>
18 
19 namespace optdata {
20 
21  // Collection of all the channels associated with a certain time frame
22  // (e.g., an event, a trigger).
23  class ChannelDataGroup : public std::vector< ChannelData >
24  {
25  public:
26 
27  // Simple constructor/destructor.
29  TimeSlice_t time = 0,
30  Frame_t frame = 0 )
33  , fm_frame(frame)
34  {};
35 
37 
38  // Here we have getters and setters for the time information.
39 
40 
42 
43  // A time slice associated with the first bin in the channel
44  // data. For example, the first bin of the ADC channels may refer
45  // to clock value 8595824 (in some arbitrary units).
46  TimeSlice_t TimeSlice() const { return fm_timeSlice; }
48 
49  // The frame number associated with the first frame in the channels.
50  Frame_t Frame() const { return fm_frame; }
51  void SetFrame( Frame_t f ) { fm_frame = f; }
52 
53 
54  private:
58  };
59 
60 } // namespace optdata
61 
62 #endif // optdata_ChannelDataGroup_h
struct vector vector
enum optdata::_optical_category_t Optical_Category_t
Optical_Category_t fm_category
ChannelDataGroup(Optical_Category_t category=kUndefined, TimeSlice_t time=0, Frame_t frame=0)
void SetTimeSlice(TimeSlice_t t)
unsigned int TimeSlice_t
Definition: OpticalTypes.h:20
unsigned int Frame_t
Definition: OpticalTypes.h:21
TimeSlice_t TimeSlice() const
Optical_Category_t Category() const