Jpp  18.2.1-ARCA-DF-PATCH
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
time_converter.hh
Go to the documentation of this file.
1 #ifndef __TOOLS__TIME_CONVERTER__
2 #define __TOOLS__TIME_CONVERTER__
3 
7 
8 
9 /**
10  * \file
11  * Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit.
12  *
13  * \author mdejong
14  */
15 
16 /**
17  * Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
18  */
20 {
21 public:
22  /**
23  * Default constructor.
24  */
26  __t0(0.0),
27  __t1(0.0)
28  {}
29 
30 
31  /**
32  * Constructor.
33  * Note that this constructor should only be used after incorporation of KM3NETDAQ::JDAQEvent.
34  *
35  * \param event event
36  */
37  time_converter(const Evt& event) :
38  __t0(event.mc_t),
39  __t1(getTimeOfRTS(event.frame_index))
40  {}
41 
42 
43  /**
44  * Constructor.
45  *
46  * \param event Monte Carlo event
47  * \param chronometer DAQ chronometer
48  */
49  time_converter(const Evt& event,
50  const JDAQChronometer& chronometer) :
51  __t0(event.mc_t),
52  __t1(getTimeOfRTS(chronometer))
53  {}
54 
55 
56  /**
57  * Get DAQ/trigger time minus Monte Carlo time.
58  *
59  * \return time difference [ns]
60  */
61  double getTime() const
62  {
63  return __t1 - __t0;
64  }
65 
66 
67  /**
68  * Get Monte Carlo time minus DAQ/trigger time.
69  *
70  * \return time difference [ns]
71  */
72  double putTime() const
73  {
74  return __t0 - __t1;
75  }
76 
77 
78  /**
79  * Get Monte Carlo hit time.
80  *
81  * \param t0 DAQ/trigger hit time [ns]
82  * \return Monte Carlo hit time [ns]
83  */
84  double getTime(const double t0) const
85  {
86  return t0 + __t1 - __t0;
87  }
88 
89 
90  /**
91  * Get DAQ hit time.
92  *
93  * \param t0 Monte Carlo hit time [ns]
94  * \return DAQ/trigger hit time [ns]
95  */
96  double putTime(const double t0) const
97  {
98  return t0 - __t1 + __t0;
99  }
100 
101 protected:
102  double __t0; // Monte Carlo event time [ns]
103  double __t1; // DAQ RTS [ns]
104 };
105 
106 #endif
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
double putTime(const double t0) const
Get DAQ hit time.
double getTimeOfRTS(const JDAQChronometer &chronometer)
Get time of last RTS in ns since start of run for a given chronometer.
time_converter(const Evt &event)
Constructor.
time_converter(const Evt &event, const JDAQChronometer &chronometer)
Constructor.
double putTime() const
Get Monte Carlo time minus DAQ/trigger time.
time_converter()
Default constructor.
double getTime(const double t0) const
Get Monte Carlo hit time.
double getTime() const
Get DAQ/trigger time minus Monte Carlo time.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Definition: Evt.hh:20