All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrackTreeStoreObj.h
Go to the documentation of this file.
1 #ifndef SBN_TRACKTREESTOREOBJ_H
2 #define SBN_TRACKTREESTOREOBJ_H
3 
4 #include "cstdint" // std::uint64_t
5 #include <limits>
6 
7 namespace sbn {
8 
9  /**
10  *
11  * Middle point is cutting the track in two chunks with the same length.
12  *
13  * The part "before" the cathode is always the one at lower _x_ coordinates
14  * than the cathode itself.
15  *
16  */
17  struct selTrackInfo {
18  static constexpr float NoPosition = -999999.0;
19 
20  int trackID = -1;
21  float t0 = NoPosition;
25  float end_x = NoPosition;
26  float end_y = NoPosition;
27  float end_z = NoPosition;
28  float middle_x = NoPosition; ///< Half-way distance along the trajectory.
29  float middle_y = NoPosition; ///< Half-way distance along the trajectory.
30  float middle_z = NoPosition; ///< Half-way distance along the trajectory.
31  float atcathode_x = NoPosition; ///< Cathode crossing point of trajectory.
32  float atcathode_y = NoPosition; ///< Cathode crossing point of trajectory.
33  float atcathode_z = NoPosition; ///< Cathode crossing point of trajectory.
34  float midbeforecathode_x = NoPosition; ///< Midpoint of subpath before cathode.
35  float midbeforecathode_y = NoPosition; ///< Midpoint of subpath before cathode.
36  float midbeforecathode_z = NoPosition; ///< Midpoint of subpath before cathode.
37  float midaftercathode_x = NoPosition; ///< Midpoint of subpath after cathode.
38  float midaftercathode_y = NoPosition; ///< Midpoint of subpath after cathode.
39  float midaftercathode_z = NoPosition; ///< Midpoint of subpath after cathode.
40  float beforecathode = -1; ///< Track path length before cathode (lower _x_).
41  float aftercathode = -1; ///< Track path length before cathode (higher _x_).
42  float length = -1.0;
43  float energy = NoPosition;
46  float dir_x = NoPosition;
47  float dir_y = NoPosition;
48  float dir_z = NoPosition;
49  }; // selTrackInfo
50 
51  struct selBeamInfo {
52  static constexpr float NoTime = -999999.0;
53 
55  float beamGateDuration = -1.0;
56  unsigned int beamGateType = 999;
57  };
58 
59  struct selTriggerInfo {
60  unsigned int beamType = 0;
61  std::uint64_t triggerTime = 0;
62  std::uint64_t beamGateTime = 0;
63  unsigned int triggerID = 0;
64  unsigned int gateID = 0;
65  };
66 
68 
69  static constexpr double NoTime = -999999.0;
70 
71  double time = NoTime; ///< Time of the trigger in electronics time scale.
72 
73  };
74 
75  struct selLightInfo {
76  static constexpr float NoPosition = -999999.0;
77  int flash_id = -1;
78  float sum_pe = NoPosition;
84  };
85 
86  struct selHitInfo {
87  static constexpr float NoValue = -999999.0;
88  static constexpr uint16_t NoVal = 65535;
89  float integral = NoValue;
90  float sumadc = NoValue;
91  float width = NoValue; ///< RMS
92  float pk_time = NoVal;
93  float px = NoValue;
94  float py = NoValue;
95  float pz = NoValue;
96  float dirx = NoValue;
97  float diry = NoValue;
98  float dirz = NoValue;
99  uint16_t mult = NoVal;
100  uint16_t wire = NoVal;
101  uint16_t plane = NoVal;
102  int channel = NoVal;
103  uint16_t tpc = NoVal;
104  int16_t end = -32767;
105  int16_t start = -32767;
106  int id = NoValue;
107  bool oncalo = false;
108  float pitch = NoValue;
109  float dqdx = NoValue;
110  float dEdx = NoValue;
111  float rr = NoValue;
112 
113  };
114 
115 } // namespace sbn
116 
117 #endif // SBN_TRACKTREESTOREOBJ_H
float middle_y
Half-way distance along the trajectory.
static constexpr float NoPosition
static constexpr float NoTime
double time
Time of the trigger in electronics time scale.
float atcathode_z
Cathode crossing point of trajectory.
static constexpr float NoPosition
unsigned int beamGateType
static constexpr float NoValue
float atcathode_x
Cathode crossing point of trajectory.
static constexpr uint16_t NoVal
float beforecathode
Track path length before cathode (lower x).
float midaftercathode_x
Midpoint of subpath after cathode.
float atcathode_y
Cathode crossing point of trajectory.
float middle_x
Half-way distance along the trajectory.
float midaftercathode_z
Midpoint of subpath after cathode.
float midbeforecathode_x
Midpoint of subpath before cathode.
std::uint64_t beamGateTime
float midbeforecathode_y
Midpoint of subpath before cathode.
float aftercathode
Track path length before cathode (higher x).
float midaftercathode_y
Midpoint of subpath after cathode.
float middle_z
Half-way distance along the trajectory.
static constexpr double NoTime
float midbeforecathode_z
Midpoint of subpath before cathode.
std::uint64_t triggerTime