Jpp  19.1.0
the software that should make you happy
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
JTRIGGER::JTriggeredEvent Class Reference

Auxiliary class to build JDAQEvent for a triggered event. More...

#include <JTriggeredEvent.hh>

Inheritance diagram for JTRIGGER::JTriggeredEvent:
KM3NETDAQ::JDAQEvent KM3NETDAQ::JDAQPreamble KM3NETDAQ::JDAQEventHeader KM3NETDAQ::JDAQAbstractPreamble TObject KM3NETDAQ::JDAQHeader KM3NETDAQ::JDAQTriggerCounter KM3NETDAQ::JDAQTriggerMask KM3NETDAQ::JDAQChronometer

Public Member Functions

 JTriggeredEvent ()
 Default constructor. More...
 
 JTriggeredEvent (const JDAQChronometer &chronometer, const KM3NETDAQ::JTriggerMask_t &mask, const JHitR1 &hit, const JTimesliceRouter &timesliceRouter, const JModuleRouter &moduleRouter, const double TMaxLocal_ns, const double DMax_m, const JTimeRange &snapshot=JTimeRange::DEFAULT_RANGE())
 Constructor based on an L1 coincidence hit. More...
 
 JTriggeredEvent (const JEvent &event, const JTimesliceRouter &timesliceRouter, const JModuleRouter &moduleRouter, const double TMaxLocal_ns, const JTimeRange &snapshot=JTimeRange::DEFAULT_RANGE())
 Constructor. More...
 
template<class T >
const std::vector< T > & getHits () const
 Get container with hits. More...
 
template<class T >
std::vector< T > & getHits ()
 Get container with hits. More...
 
template<>
const std::vector< JDAQTriggeredHit > & getHits () const
 Get triggered hits. More...
 
template<>
const std::vector< JDAQKeyHit > & getHits () const
 Get snapshot hits. More...
 
template<>
std::vector< JDAQTriggeredHit > & getHits ()
 Get triggered hits. More...
 
template<>
std::vector< JDAQKeyHit > & getHits ()
 Get snapshot hits. More...
 
template<class T >
const_iterator< T > begin () const
 Get begin of data. More...
 
template<>
JDAQEvent::const_iterator< JDAQTriggeredHitbegin () const
 Get begin of triggered hits. More...
 
template<>
JDAQEvent::const_iterator< JDAQSnapshotHitbegin () const
 Get begin of snapshot hits. More...
 
template<class T >
const_iterator< T > end () const
 Get end of data. More...
 
template<>
JDAQEvent::const_iterator< JDAQTriggeredHitend () const
 Get end of triggered hits. More...
 
template<>
JDAQEvent::const_iterator< JDAQSnapshotHitend () const
 Get end of snapshot hits. More...
 
template<class T >
const_reverse_iterator< T > rbegin () const
 Get reverse begin of data. More...
 
template<>
JDAQEvent::const_reverse_iterator< JDAQTriggeredHitrbegin () const
 Get reverse begin of triggered hits. More...
 
template<>
JDAQEvent::const_reverse_iterator< JDAQSnapshotHitrbegin () const
 Get reverse begin of snapshot hits. More...
 
template<class T >
const_reverse_iterator< T > rend () const
 Get reverse end of data. More...
 
template<>
JDAQEvent::const_reverse_iterator< JDAQTriggeredHitrend () const
 Get reverse end of triggered hits. More...
 
template<>
JDAQEvent::const_reverse_iterator< JDAQSnapshotHitrend () const
 Get reverse end of snapshot hits. More...
 
template<class T >
unsigned int size () const
 Get number of hits. More...
 
template<>
unsigned int size () const
 Get number of triggered hits. More...
 
template<>
unsigned int size () const
 Get number of snapshot hits. More...
 
template<class T >
bool empty () const
 Check emptyness of hit container. More...
 
template<>
bool empty () const
 Check emptyness of triggered data. More...
 
template<>
bool empty () const
 Check emptyness of snapshot data. More...
 
void clear ()
 Clear event. More...
 
void push_back (const JDAQKeyHit &hit)
 Add hit. More...
 
void push_back (const JDAQTriggeredHit &hit)
 Add hit. More...
 
JTriggerMask_t getTriggerMask (const JDAQSnapshotHit &hit) const
 Get trigger mask of given hit. More...
 
JTriggerMask_t getTriggerMask () const
 Get trigger mask. More...
 
JTriggerMask_t getTriggerMask () const
 Get trigger mask. More...
 
std::ostream & print (std::ostream &out, const bool lpr=false) const
 Print DAQ Event. More...
 
 ClassDef (JDAQEvent, 4)
 
 ClassDef (JDAQPreamble, 1)
 
 ClassDef (JDAQEventHeader, 3)
 
 ClassDef (JDAQHeader, 2)
 
 ClassDef (JDAQChronometer, 3)
 
 ClassDef (JDAQTriggerCounter, 1)
 
 ClassDef (JDAQTriggerMask, 1)
 
int getLength () const
 Get length. More...
 
int getDataType () const
 Get data type. More...
 
 ClassDefNV (JDAQAbstractPreamble, 1)
 
const JDAQEventHeadergetDAQEventHeader () const
 Get DAQ event header. More...
 
bool is_same (const JDAQEventHeader &header) const
 Check if header is same. More...
 
unsigned int getOverlays () const
 Get number of overlays. More...
 
const JDAQHeadergetDAQHeader () const
 Get DAQ header. More...
 
void setDAQHeader (const JDAQHeader &header)
 Set DAQ header. More...
 
const JDAQChronometergetDAQChronometer () const
 Get DAQ chronometer. More...
 
void setDAQChronometer (const JDAQChronometer &chronometer)
 Set DAQ chronometer. More...
 
int getDetectorID () const
 Get detector identifier. More...
 
int getRunNumber () const
 Get run number. More...
 
int getFrameIndex () const
 Get frame index. More...
 
JDAQUTCExtended getTimesliceStart () const
 Get start of timeslice. More...
 
void setRunNumber (const int run)
 Set run number. More...
 
void setFrameIndex (const int frame_index)
 Set frame index. More...
 
void setTimesliceStart (const JDAQUTCExtended &timeslice_start)
 Set timeslice start time. More...
 
const JDAQTriggerCountergetDAQTriggerCounter () const
 Get DAQ trigger counter. More...
 
JTriggerCounter_t getCounter () const
 Get trigger counter. More...
 
void setCounter (const JTriggerCounter_t counter)
 Set trigger counter. More...
 
JTriggerCounter_t next ()
 Increment trigger counter. More...
 
const JDAQTriggerMaskgetDAQTriggerMask () const
 Get DAQ trigger mask. More...
 
void setDAQTriggerMask (const JDAQTriggerMask &mask)
 Set trigger mask. More...
 
void setTriggerMask (const JTriggerMask_t mask)
 Set trigger mask. More...
 
JDAQTriggerMaskaddTriggerMask (const JDAQTriggerMask &mask)
 Add trigger bit pattern. More...
 
bool hasTriggerMask (const JDAQTriggerMask &mask) const
 Has trigger bit pattern. More...
 
JDAQTriggerMaskaddTriggerBit (const unsigned int bit)
 Add trigger bit. More...
 
bool hasTriggerBit (const unsigned int bit) const
 Check trigger bit. More...
 
std::string toString () const
 Convert trigger mask. More...
 

Static Public Member Functions

static JTriggerMask_t getTriggerMask (const JDAQTriggeredHit &hit)
 Get trigger mask of given hit. More...
 
template<class T >
static JDAQPreamble getDAQPreamble (const T &object)
 Get DAQ preamble. More...
 
static JDAQTriggerCountergetInstance ()
 Get reference to unique instance of this class object. More...
 
static void reset ()
 Reset counter of unique instance of this class object. More...
 
static JDAQTriggerMask valueOf (const std::string &buffer)
 Extract trigger mask. More...
 

Protected Attributes

std::vector< JDAQTriggeredHittriggeredHits
 
std::vector< JDAQSnapshotHitsnapshotHits
 
int length
 
int type
 
unsigned int overlays
 
int detector_id
 
int run
 
int frame_index
 
JDAQUTCExtended timeslice_start
 
JTriggerCounter_t trigger_counter
 
JTriggerMask_t trigger_mask
 

Detailed Description

Auxiliary class to build JDAQEvent for a triggered event.

The data structure includes a list of raw data hits that triggered the event and optionally a list of all raw hits within a preset time window around the event (snapshot).

Definition at line 48 of file JTriggeredEvent.hh.

Constructor & Destructor Documentation

◆ JTriggeredEvent() [1/3]

JTRIGGER::JTriggeredEvent::JTriggeredEvent ( )
inline

Default constructor.

Definition at line 57 of file JTriggeredEvent.hh.

57  :
58  JDAQEvent()
59  {}
JDAQEvent()
Default constructor.
Definition: JDAQEvent.hh:45

◆ JTriggeredEvent() [2/3]

JTRIGGER::JTriggeredEvent::JTriggeredEvent ( const JDAQChronometer chronometer,
const KM3NETDAQ::JTriggerMask_t mask,
const JHitR1 hit,
const JTimesliceRouter timesliceRouter,
const JModuleRouter moduleRouter,
const double  TMaxLocal_ns,
const double  DMax_m,
const JTimeRange snapshot = JTimeRange::DEFAULT_RANGE() 
)
inline

Constructor based on an L1 coincidence hit.

Only the module where the L1 coincidence hit happened will contribute to the triggered hits in the event. Only modules within a shpere of radius DMax_m will contribute to the snapshot hits.

Parameters
chronometerdaq chronometer
masktrigger mask
hithit
timesliceRoutertimeslice router
moduleRoutermodule router
TMaxLocal_nsMaximal time for L1 [ns]
DMax_mMaximal distance for snapshot.
snapshottime before first (<= 0) and after last (>= 0) triggered hit [ns].

Definition at line 76 of file JTriggeredEvent.hh.

83  :
84  JDAQEvent()
85  {
86  using namespace std;
87  using namespace JPP;
88 
89  // Header
90 
91  setDAQChronometer(chronometer);
92 
93  trigger_mask = mask;
94 
95  // Triggered hits
96 
97  const JTimeRange timeRange(hit.getT1(), hit.getT1() + TMaxLocal_ns);
98 
99  const JModule& root = moduleRouter.getModule(hit.getModuleID());
100 
101  const JDAQSuperFrame& frame = timesliceRouter.getSuperFrame(hit.getModuleIdentifier());
102  const JDAQFrameSubset subset = timesliceRouter.getFrameSubset(hit.getModuleIdentifier(), getTimeRange(timeRange, root));
103 
104  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
105 
106  const JCalibration& calibration = root.getPMT(i->getPMT()).getCalibration();
107 
108  const double t1 = getTime(*i, calibration);
109 
110  if (!frame.testHighRateVeto(i->getPMT()) &&
111  !frame.testFIFOStatus (i->getPMT())) {
112 
113  if (timeRange(t1)) {
114  triggeredHits.push_back(JDAQTriggeredHit(hit.getModuleIdentifier(), *i, mask));
115  }
116  }
117  }
118 
119  // Snapshot hits
120 
121  if (snapshot.is_valid()) {
122 
123  const JTimeRange timeRange(hit.getT1() + snapshot.getLowerLimit() - TMaxLocal_ns,
124  hit.getT1() + snapshot.getUpperLimit() + TMaxLocal_ns);
125 
126  for (JDAQTimeslice::const_iterator super_frame = timesliceRouter->begin(); super_frame != timesliceRouter->end(); ++super_frame) {
127 
128  if (!super_frame->empty()) {
129 
130  if (moduleRouter.hasModule(super_frame->getModuleID())) {
131 
132  const JModule& module = moduleRouter.getModule(super_frame->getModuleID());
133 
134  if (getDistance(root.getPosition(), hit.getPosition()) < DMax_m) {
135 
136  const JDAQFrameSubset& subset = timesliceRouter.getFrameSubset(super_frame->getModuleIdentifier(), getTimeRange(timeRange, module));
137 
138  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
139 
140  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
141 
142  const double t1 = getTime(*i, calibration);
143 
144  if (timeRange(t1)) {
145  snapshotHits.push_back(JDAQSnapshotHit(super_frame->getModuleIdentifier(), *i));
146  }
147  }
148  }
149  }
150  }
151  }
152  }
153  }
Data structure for time calibration.
const JCalibration & getCalibration() const
Get calibration.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
bool hasModule(const JObjectID &id) const
Has module.
Data structure for a composite optical module.
Definition: JModule.hh:75
const JPMT & getPMT(const int index) const
Get PMT.
Definition: JModule.hh:172
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:130
bool is_valid() const
Check validity of range.
Definition: JRange.hh:311
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
double getT1() const
Get leading edge of hit.
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:265
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:264
bool testFIFOStatus() const
Test FIFO status.
bool testHighRateVeto() const
Test high-rate veto status.
Subset of data frame.
Definition: JDAQFrame.hh:24
const_iterator end() const
Definition: JDAQFrame.hh:44
const_iterator begin() const
Definition: JDAQFrame.hh:43
Hit data structure.
Definition: JDAQHit.hh:35
int getModuleID() const
Get module identifier.
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
Data frame of one optical module.
double getDistance(const JFirst_t &first, const JSecond_t &second)
Get distance between objects.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
double getTime(const JDAQHit &hit, const JCalibration &cal)
Get calibrated time of DAQ hit.
Definition: JHitToolkit.hh:34
JTimeRange getTimeRange(const JEvent &event)
Get time range (i.e. earlist and latest hit time) of triggered event.
JDAQKeyHit JDAQSnapshotHit
Definition: JDAQEvent.hh:24
Definition: root.py:1
Definition: JSTDTypes.hh:14
Calibration.
Definition: JHead.hh:330
const JDAQSuperFrame & getSuperFrame(const JDAQModuleIdentifier &module) const
Get super frame.
JDAQFrameSubset getFrameSubset(const JDAQModuleIdentifier &module, const JTimeRange &timeRange) const
Get subset of frame given module identifier and range of hit times.

◆ JTriggeredEvent() [3/3]

JTRIGGER::JTriggeredEvent::JTriggeredEvent ( const JEvent event,
const JTimesliceRouter timesliceRouter,
const JModuleRouter moduleRouter,
const double  TMaxLocal_ns,
const JTimeRange snapshot = JTimeRange::DEFAULT_RANGE() 
)
inline

Constructor.

Parameters
eventevent
timesliceRoutertimeslice router
moduleRoutermodule router
TMaxLocal_nsMaximal time for L1 [ns]
snapshottime before first (<= 0) and after last (>= 0) triggered hit [ns].

Definition at line 164 of file JTriggeredEvent.hh.

168  :
169  JDAQEvent()
170  {
171  using namespace std;
172 
173  // Header
174 
175  setDAQChronometer(event.getDAQChronometer());
176 
177  overlays = event.getOverlays();
178  trigger_mask = event.getTriggerMask();
179 
180  // Triggered hits
181 
182  for (JEvent::const_iterator hit = event.begin(); hit != event.end(); ++hit) {
183 
184  const JTimeRange timeRange(hit->getT1(), hit->getT1() + TMaxLocal_ns);
185 
186  const JModule& module = moduleRouter.getModule(hit->getModuleID());
187 
188  const JDAQSuperFrame& frame = timesliceRouter.getSuperFrame(hit->getModuleIdentifier());
189  const JDAQFrameSubset subset = timesliceRouter.getFrameSubset(hit->getModuleIdentifier(), getTimeRange(timeRange, module));
190 
191  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
192 
193  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
194 
195  const double t1 = getTime(*i, calibration);
196 
197  if (!frame.testHighRateVeto(i->getPMT()) &&
198  !frame.testFIFOStatus (i->getPMT())) {
199 
200  if (timeRange(t1)) {
201  triggeredHits.push_back(JDAQTriggeredHit(hit->getModuleIdentifier(), *i, hit->getTriggerMask()));
202  }
203  }
204  }
205  }
206 
207  if (!triggeredHits.empty()) {
208 
209  // combine trigger masks of identical hits and remove redundant hits
210 
211  sort(triggeredHits.begin(), triggeredHits.end(), less<JDAQKeyHit>());
212 
214 
215  for (vector<JDAQTriggeredHit>::const_iterator i = triggeredHits.begin(); ++i != triggeredHits.end(); ) {
216 
217  if (static_cast<const JDAQKeyHit&>(*i) == static_cast<const JDAQKeyHit&>(*out))
218  out->addTriggerMask(*i);
219  else
220  *(++out) = *i;
221  }
222 
223  triggeredHits.resize(distance(triggeredHits.begin(), ++out));
224  }
225 
226 
227  // Snapshot hits
228 
229  if (snapshot.is_valid()) {
230 
231  const JTimeRange timeRange(event. begin()->getT1() + snapshot.getLowerLimit() - TMaxLocal_ns,
232  event.rbegin()->getT1() + snapshot.getUpperLimit() + TMaxLocal_ns);
233 
234  for (JDAQTimeslice::const_iterator super_frame = timesliceRouter->begin(); super_frame != timesliceRouter->end(); ++super_frame) {
235 
236  if (!super_frame->empty()) {
237 
238  if (moduleRouter.hasModule(super_frame->getModuleID())) {
239 
240  const JModule& module = moduleRouter.getModule(super_frame->getModuleID());
241 
242  const JDAQFrameSubset& subset = timesliceRouter.getFrameSubset(super_frame->getModuleIdentifier(), getTimeRange(timeRange, module));
243 
244  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
245 
246  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
247 
248  const double t1 = getTime(*i, calibration);
249 
250  if (timeRange(t1)) {
251  snapshotHits.push_back(JDAQSnapshotHit(super_frame->getModuleIdentifier(), *i));
252  }
253  }
254  }
255  }
256  }
257  }
258  }
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
const_iterator< T > begin() const
Get begin of data.

Member Function Documentation

◆ getHits() [1/6]

template<class T >
const std::vector<T>& KM3NETDAQ::JDAQEvent::getHits ( ) const
inherited

Get container with hits.

Returns
container with hits

◆ getHits() [2/6]

template<class T >
std::vector<T>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get container with hits.

Returns
container with hits

◆ getHits() [3/6]

template<>
const std::vector<JDAQTriggeredHit>& KM3NETDAQ::JDAQEvent::getHits ( ) const
inherited

Get triggered hits.

Returns
triggered hits

Definition at line 17 of file externals/km3net-dataformat/src/JDAQEvent.cc.

18  {
19  return triggeredHits;
20  }

◆ getHits() [4/6]

template<>
const std::vector<JDAQKeyHit>& KM3NETDAQ::JDAQEvent::getHits ( ) const
inherited

Get snapshot hits.

Returns
snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

30  {
31  return snapshotHits;
32  }

◆ getHits() [5/6]

template<>
std::vector<JDAQTriggeredHit>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get triggered hits.

Returns
triggered hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

42  {
43  return triggeredHits;
44  }

◆ getHits() [6/6]

template<>
std::vector<JDAQKeyHit>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get snapshot hits.

Returns
snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

54  {
55  return snapshotHits;
56  }

◆ begin() [1/3]

template<class T >
const_iterator<T> KM3NETDAQ::JDAQEvent::begin ( ) const
inherited

Get begin of data.

Returns
begin of data

◆ begin() [2/3]

template<>
JDAQEvent::const_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::begin ( ) const
inherited

Get begin of triggered hits.

Returns
begin triggered hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

66  {
67  return triggeredHits.begin();
68  }

◆ begin() [3/3]

template<>
JDAQEvent::const_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::begin ( ) const
inherited

Get begin of snapshot hits.

Returns
begin snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

90  {
91  return snapshotHits.begin();
92  }

◆ end() [1/3]

template<class T >
const_iterator<T> KM3NETDAQ::JDAQEvent::end ( ) const
inherited

Get end of data.

Returns
end of data

◆ end() [2/3]

template<>
JDAQEvent::const_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::end ( ) const
inherited

Get end of triggered hits.

Returns
end triggered hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

78  {
79  return triggeredHits.end();
80  }

◆ end() [3/3]

template<>
JDAQEvent::const_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::end ( ) const
inherited

Get end of snapshot hits.

Returns
end snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

102  {
103  return snapshotHits.end();
104  }

◆ rbegin() [1/3]

template<class T >
const_reverse_iterator<T> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of data.

Returns
begin of data

◆ rbegin() [2/3]

template<>
JDAQEvent::const_reverse_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of triggered hits.

Returns
begin triggered hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

114  {
115  return triggeredHits.rbegin();
116  }

◆ rbegin() [3/3]

template<>
JDAQEvent::const_reverse_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of snapshot hits.

Returns
begin snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

138  {
139  return snapshotHits.rbegin();
140  }

◆ rend() [1/3]

template<class T >
const_reverse_iterator<T> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of data.

Returns
end of data

◆ rend() [2/3]

template<>
JDAQEvent::const_reverse_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of triggered hits.

Returns
end triggered hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

126  {
127  return triggeredHits.rend();
128  }

◆ rend() [3/3]

template<>
JDAQEvent::const_reverse_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of snapshot hits.

Returns
end snapshot hits

Definition at line 29 of file externals/km3net-dataformat/src/JDAQEvent.cc.

150  {
151  return snapshotHits.rend();
152  }

◆ size() [1/3]

template<class T >
unsigned int KM3NETDAQ::JDAQEvent::size ( ) const
inherited

Get number of hits.

Returns
number of hits

◆ size() [2/3]

template<>
unsigned int KM3NETDAQ::JDAQEvent::size ( ) const
inherited

Get number of triggered hits.

Returns
number of triggered hits

Definition at line 161 of file externals/km3net-dataformat/src/JDAQEvent.cc.

162  {
163  return triggeredHits.size();
164  }

◆ size() [3/3]

template<>
unsigned int KM3NETDAQ::JDAQEvent::size ( ) const
inherited

Get number of snapshot hits.

Returns
number of snapshot hits

Definition at line 173 of file externals/km3net-dataformat/src/JDAQEvent.cc.

174  {
175  return snapshotHits.size();
176  }

◆ empty() [1/3]

template<class T >
bool KM3NETDAQ::JDAQEvent::empty ( ) const
inherited

Check emptyness of hit container.

Returns
true if empty; else false

◆ empty() [2/3]

template<>
bool KM3NETDAQ::JDAQEvent::empty ( ) const
inherited

Check emptyness of triggered data.

Returns
emptyness triggered hits

Definition at line 185 of file externals/km3net-dataformat/src/JDAQEvent.cc.

186  {
187  return triggeredHits.empty();
188  }

◆ empty() [3/3]

template<>
bool KM3NETDAQ::JDAQEvent::empty ( ) const
inherited

Check emptyness of snapshot data.

Returns
emptyness snapshot hits

Definition at line 197 of file externals/km3net-dataformat/src/JDAQEvent.cc.

198  {
199  return snapshotHits.empty();
200  }

◆ clear()

void KM3NETDAQ::JDAQEvent::clear ( )
inlineinherited

Clear event.

Definition at line 191 of file JDAQEvent.hh.

192  {
193  snapshotHits .clear();
194  triggeredHits.clear();
195  }

◆ push_back() [1/2]

void KM3NETDAQ::JDAQEvent::push_back ( const JDAQKeyHit hit)
inlineinherited

Add hit.

Parameters
hithit

Definition at line 203 of file JDAQEvent.hh.

204  {
205  snapshotHits.push_back(hit);
206  }

◆ push_back() [2/2]

void KM3NETDAQ::JDAQEvent::push_back ( const JDAQTriggeredHit hit)
inlineinherited

Add hit.

Parameters
hithit

Definition at line 214 of file JDAQEvent.hh.

215  {
216  triggeredHits.push_back(hit);
217  }

◆ getTriggerMask() [1/4]

static JTriggerMask_t KM3NETDAQ::JDAQEvent::getTriggerMask ( const JDAQTriggeredHit hit)
inlinestaticinherited

Get trigger mask of given hit.

Parameters
hithit
Returns
trigger mask

Definition at line 226 of file JDAQEvent.hh.

227  {
228  return hit.getTriggerMask();
229  }
JTriggerMask_t getTriggerMask() const
Get trigger mask.

◆ getTriggerMask() [2/4]

JTriggerMask_t KM3NETDAQ::JDAQEvent::getTriggerMask ( const JDAQSnapshotHit hit) const
inlineinherited

Get trigger mask of given hit.

Parameters
hithit
Returns
trigger mask

Definition at line 238 of file JDAQEvent.hh.

239  {
241  if (*i == hit) {
242  return i->getTriggerMask();
243  }
244  }
245 
246  return JTriggerMask_t(0);
247  }
unsigned long long int JTriggerMask_t
Type definition of trigger mask.

◆ getTriggerMask() [3/4]

JTriggerMask_t KM3NETDAQ::JDAQTriggerMask::getTriggerMask
inlineinherited

Get trigger mask.

Returns
trigger mask

Definition at line 106 of file JDAQTriggerMask.hh.

107  {
108  return trigger_mask;
109  }

◆ getTriggerMask() [4/4]

JTriggerMask_t KM3NETDAQ::JDAQTriggerMask::getTriggerMask ( ) const
inlineinherited

Get trigger mask.

Returns
trigger mask

Definition at line 106 of file JDAQTriggerMask.hh.

107  {
108  return trigger_mask;
109  }

◆ print()

std::ostream & KM3NETDAQ::JDAQEvent::print ( std::ostream &  out,
const bool  lpr = false 
) const
inherited

Print DAQ Event.

Parameters
outoutput stream
lprlong print
Returns
output stream

Definition at line 226 of file externals/km3net-dataformat/src/JDAQEvent.cc.

227  {
228  using namespace std;
229 
230  out << this->ClassName() << endl;
231  out << dynamic_cast<const JDAQPreamble&> (*this) << endl;
232  out << dynamic_cast<const JDAQChronometer&>(*this) << endl;
233 
234  out << "Trigger counter " << this->getCounter() << endl;
235  out << "Trigger mask (hex) " << hex << this->getTriggerMask() << dec << endl;
236  out << "Overlays " << this->getOverlays() << endl;
237  out << "Triggered hits " << this->size<JDAQTriggeredHit>() << endl;
238  out << "Snapshot hits " << this->size<JDAQSnapshotHit> () << endl;
239 
240  {
241  typedef JDAQTriggeredHit JHit_t;
242 
243  for (JDAQEvent::const_iterator<JHit_t> hit = this->begin<JHit_t>(); hit != this->end<JHit_t>(); ++hit) {
244  out << setw(5) << hit->getModuleID() << ' '
245  << setw(2) << (int) hit->getPMT() << ' '
246  << setw(10) << (int) hit->getT() << ' '
247  << setw(3) << (int) hit->getToT() << ' '
248  << setw(10) << hex << hit->getTriggerMask() << dec << endl;
249  }
250  }
251 
252  if (lpr) {
253 
254  typedef JDAQSnapshotHit JHit_t;
255 
256  for (JDAQEvent::const_iterator<JHit_t> hit = this->begin<JHit_t>(); hit != this->end<JHit_t>(); ++hit) {
257  out << setw(5) << hit->getModuleID() << ' '
258  << setw(2) << (int) hit->getPMT() << ' '
259  << setw(10) << (int) hit->getT() << ' '
260  << setw(3) << (int) hit->getToT() << endl;
261  }
262  }
263 
264  return out;
265  }
unsigned int getOverlays() const
Get number of overlays.
Template const_iterator.
Definition: JDAQEvent.hh:68
JTriggerMask_t getTriggerMask() const
Get trigger mask.
JTriggerCounter_t getCounter() const
Get trigger counter.
Auxiliary class to set-up Hit.
Definition: JSirene.hh:58

◆ ClassDef() [1/7]

KM3NETDAQ::JDAQEvent::ClassDef ( JDAQEvent  ,
 
)
inherited

◆ ClassDef() [2/7]

KM3NETDAQ::JDAQPreamble::ClassDef ( JDAQPreamble  ,
 
)
inherited

◆ ClassDef() [3/7]

KM3NETDAQ::JDAQEventHeader::ClassDef ( JDAQEventHeader  ,
 
)
inherited

◆ ClassDef() [4/7]

KM3NETDAQ::JDAQHeader::ClassDef ( JDAQHeader  ,
 
)
inherited

◆ ClassDef() [5/7]

KM3NETDAQ::JDAQChronometer::ClassDef ( JDAQChronometer  ,
 
)
inherited

◆ ClassDef() [6/7]

KM3NETDAQ::JDAQTriggerCounter::ClassDef ( JDAQTriggerCounter  ,
 
)
inherited

◆ ClassDef() [7/7]

KM3NETDAQ::JDAQTriggerMask::ClassDef ( JDAQTriggerMask  ,
 
)
inherited

◆ getDAQPreamble()

template<class T >
static JDAQPreamble KM3NETDAQ::JDAQPreamble::getDAQPreamble ( const T &  object)
inlinestaticinherited

Get DAQ preamble.

This method should be used for binary I/O to get the actual data for the given object.
To this end, the following method should be overloaded for the corresponding data type.

   size_t  getSizeof(const T&);
Parameters
objectobject
Returns
preamble

Definition at line 76 of file JDAQPreamble.hh.

77  {
78  static JDAQPreamble preamble;
79 
80  preamble.length = getSizeof(object);
81  preamble.type = KM3NETDAQ::getDataType<T>();
82 
83  return preamble;
84  }
friend size_t getSizeof()
Definition of method to get size of data type.

◆ getLength()

int KM3NETDAQ::JDAQAbstractPreamble::getLength ( ) const
inlineinherited

Get length.

Returns
number of bytes

Definition at line 49 of file JDAQAbstractPreamble.hh.

50  {
51  return length;
52  }

◆ getDataType()

int KM3NETDAQ::JDAQAbstractPreamble::getDataType ( ) const
inlineinherited

Get data type.

Returns
data type

Definition at line 60 of file JDAQAbstractPreamble.hh.

61  {
62  return type;
63  }

◆ ClassDefNV()

KM3NETDAQ::JDAQAbstractPreamble::ClassDefNV ( JDAQAbstractPreamble  ,
 
)
inherited

◆ getDAQEventHeader()

const JDAQEventHeader& KM3NETDAQ::JDAQEventHeader::getDAQEventHeader ( ) const
inlineinherited

Get DAQ event header.

Returns
DAQ event header

Definition at line 46 of file JDAQEventHeader.hh.

47  {
48  return static_cast<const JDAQEventHeader&>(*this);
49  }

◆ is_same()

bool KM3NETDAQ::JDAQEventHeader::is_same ( const JDAQEventHeader header) const
inlineinherited

Check if header is same.

Parameters
headerDAQ event header
Returns
true if event headers are same; else false

Definition at line 58 of file JDAQEventHeader.hh.

59  {
60  return (this->getDetectorID() == header.getDetectorID() &&
61  this->getRunNumber() == header.getRunNumber() &&
62  this->getFrameIndex() == header.getFrameIndex() &&
63  this->getCounter() == header.getCounter());
64  }
int getDetectorID() const
Get detector identifier.
int getRunNumber() const
Get run number.
int getFrameIndex() const
Get frame index.

◆ getOverlays()

unsigned int KM3NETDAQ::JDAQEventHeader::getOverlays ( ) const
inlineinherited

Get number of overlays.

Returns
number of overlays

Definition at line 72 of file JDAQEventHeader.hh.

73  {
74  return overlays;
75  }

◆ getDAQHeader()

const JDAQHeader& KM3NETDAQ::JDAQHeader::getDAQHeader ( ) const
inlineinherited

Get DAQ header.

Returns
DAQ header

Definition at line 49 of file JDAQHeader.hh.

50  {
51  return static_cast<const JDAQHeader&>(*this);
52  }

◆ setDAQHeader()

void KM3NETDAQ::JDAQHeader::setDAQHeader ( const JDAQHeader header)
inlineinherited

Set DAQ header.

Parameters
headerDAQ header

Definition at line 60 of file JDAQHeader.hh.

61  {
62  static_cast<JDAQHeader&>(*this) = header;
63  }

◆ getDAQChronometer()

const JDAQChronometer& KM3NETDAQ::JDAQChronometer::getDAQChronometer ( ) const
inlineinherited

Get DAQ chronometer.

Returns
DAQ chronometer

Definition at line 88 of file JDAQChronometer.hh.

89  {
90  return static_cast<const JDAQChronometer&>(*this);
91  }

◆ setDAQChronometer()

void KM3NETDAQ::JDAQChronometer::setDAQChronometer ( const JDAQChronometer chronometer)
inlineinherited

Set DAQ chronometer.

Parameters
chronometerDAQ chronometer

Definition at line 99 of file JDAQChronometer.hh.

100  {
101  static_cast<JDAQChronometer&>(*this) = chronometer;
102  }

◆ getDetectorID()

int KM3NETDAQ::JDAQChronometer::getDetectorID ( ) const
inlineinherited

Get detector identifier.

Returns
detector identifier

Definition at line 110 of file JDAQChronometer.hh.

111  {
112  return detector_id;
113  }

◆ getRunNumber()

int KM3NETDAQ::JDAQChronometer::getRunNumber ( ) const
inlineinherited

Get run number.

Returns
run number

Definition at line 121 of file JDAQChronometer.hh.

122  {
123  return run;
124  }

◆ getFrameIndex()

int KM3NETDAQ::JDAQChronometer::getFrameIndex ( ) const
inlineinherited

Get frame index.

Returns
frame index

Definition at line 132 of file JDAQChronometer.hh.

133  {
134  return frame_index;
135  }

◆ getTimesliceStart()

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::getTimesliceStart ( ) const
inlineinherited

Get start of timeslice.

Returns
timeslice start

Definition at line 144 of file JDAQChronometer.hh.

145  {
146  return timeslice_start;
147  }

◆ setRunNumber()

void KM3NETDAQ::JDAQChronometer::setRunNumber ( const int  run)
inlineinherited

Set run number.

Parameters
runrun number

Definition at line 155 of file JDAQChronometer.hh.

156  {
157  this->run = run;
158  }

◆ setFrameIndex()

void KM3NETDAQ::JDAQChronometer::setFrameIndex ( const int  frame_index)
inlineinherited

Set frame index.

Parameters
frame_indexframe index

Definition at line 166 of file JDAQChronometer.hh.

167  {
168  this->frame_index = frame_index;
169  }

◆ setTimesliceStart()

void KM3NETDAQ::JDAQChronometer::setTimesliceStart ( const JDAQUTCExtended timeslice_start)
inlineinherited

Set timeslice start time.

Parameters
timeslice_starttimeslice start time

Definition at line 177 of file JDAQChronometer.hh.

178  {
179  this->timeslice_start = timeslice_start;
180  }

◆ getInstance()

static JDAQTriggerCounter& KM3NETDAQ::JDAQTriggerCounter::getInstance ( )
inlinestaticinherited

Get reference to unique instance of this class object.

Returns
reference to this class object

Definition at line 66 of file JDAQTriggerCounter.hh.

67  {
68  static JDAQTriggerCounter counter(0);
69 
70  return counter;
71  }
Auxiliary class to count triggers.

◆ getDAQTriggerCounter()

const JDAQTriggerCounter& KM3NETDAQ::JDAQTriggerCounter::getDAQTriggerCounter ( ) const
inlineinherited

Get DAQ trigger counter.

Returns
DAQ trigger counter

Definition at line 79 of file JDAQTriggerCounter.hh.

80  {
81  return static_cast<const JDAQTriggerCounter&>(*this);
82  }

◆ reset()

static void KM3NETDAQ::JDAQTriggerCounter::reset ( )
inlinestaticinherited

Reset counter of unique instance of this class object.

Definition at line 88 of file JDAQTriggerCounter.hh.

89  {
91  }
static JDAQTriggerCounter & getInstance()
Get reference to unique instance of this class object.

◆ getCounter()

JTriggerCounter_t KM3NETDAQ::JDAQTriggerCounter::getCounter ( ) const
inlineinherited

Get trigger counter.

Returns
counter value

Definition at line 99 of file JDAQTriggerCounter.hh.

100  {
101  return trigger_counter;
102  }

◆ setCounter()

void KM3NETDAQ::JDAQTriggerCounter::setCounter ( const JTriggerCounter_t  counter)
inlineinherited

Set trigger counter.

Parameters
countercounter value

Definition at line 110 of file JDAQTriggerCounter.hh.

111  {
112  this->trigger_counter = counter;
113  }

◆ next()

JTriggerCounter_t KM3NETDAQ::JDAQTriggerCounter::next ( )
inlineinherited

Increment trigger counter.

Returns
counter value

Definition at line 121 of file JDAQTriggerCounter.hh.

122  {
123  return trigger_counter++;
124  }

◆ getDAQTriggerMask()

const JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::getDAQTriggerMask ( ) const
inlineinherited

Get DAQ trigger mask.

Returns
DAQ trigger mask

Definition at line 95 of file JDAQTriggerMask.hh.

96  {
97  return static_cast<const JDAQTriggerMask&>(*this);
98  }
Auxiliary class for trigger mask.

◆ setDAQTriggerMask()

void KM3NETDAQ::JDAQTriggerMask::setDAQTriggerMask ( const JDAQTriggerMask mask)
inlineinherited

Set trigger mask.

Parameters
masktrigger mask

Definition at line 117 of file JDAQTriggerMask.hh.

118  {
119  trigger_mask = mask.trigger_mask;
120  }

◆ setTriggerMask()

void KM3NETDAQ::JDAQTriggerMask::setTriggerMask ( const JTriggerMask_t  mask)
inlineinherited

Set trigger mask.

Parameters
masktrigger mask

Definition at line 128 of file JDAQTriggerMask.hh.

129  {
130  trigger_mask = mask;
131  }

◆ addTriggerMask()

JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::addTriggerMask ( const JDAQTriggerMask mask)
inlineinherited

Add trigger bit pattern.

Parameters
masktrigger mask
Returns
trigger mask

Definition at line 140 of file JDAQTriggerMask.hh.

141  {
142  trigger_mask |= mask.trigger_mask;
143 
144  return *this;
145  }

◆ hasTriggerMask()

bool KM3NETDAQ::JDAQTriggerMask::hasTriggerMask ( const JDAQTriggerMask mask) const
inlineinherited

Has trigger bit pattern.

Parameters
masktrigger mask
Returns
true if one of the bits is set; else false

Definition at line 154 of file JDAQTriggerMask.hh.

155  {
156  return trigger_mask & mask.trigger_mask;
157  }

◆ addTriggerBit()

JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::addTriggerBit ( const unsigned int  bit)
inlineinherited

Add trigger bit.

Parameters
bittrigger bit
Returns
trigger mask

Definition at line 166 of file JDAQTriggerMask.hh.

167  {
169 
170  return *this;
171  }
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask.

◆ hasTriggerBit()

bool KM3NETDAQ::JDAQTriggerMask::hasTriggerBit ( const unsigned int  bit) const
inlineinherited

Check trigger bit.

Parameters
bittrigger bit
Returns
true if bit is set; else false

Definition at line 180 of file JDAQTriggerMask.hh.

181  {
183  }

◆ valueOf()

static JDAQTriggerMask KM3NETDAQ::JDAQTriggerMask::valueOf ( const std::string &  buffer)
inlinestaticinherited

Extract trigger mask.

Parameters
buffertrigger bit pattern (i.e. sequence of '0' and '1').
Returns
trigger mask

Definition at line 192 of file JDAQTriggerMask.hh.

193  {
195 
196  unsigned int bit = 0;
197 
198  for (std::string::const_reverse_iterator i = buffer.rbegin(); i != buffer.rend() && bit != NUMBER_OF_TRIGGER_BITS; ++i, ++bit) {
199  if (*i == '1') {
200  trigger_mask.addTriggerBit(bit);
201  }
202  }
203 
204  return trigger_mask;
205  }
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.

◆ toString()

std::string KM3NETDAQ::JDAQTriggerMask::toString ( ) const
inlineinherited

Convert trigger mask.

Returns
trigger bit pattern (i.e. sequence of '0' and '1').

Definition at line 213 of file JDAQTriggerMask.hh.

214  {
215  std::string buffer(NUMBER_OF_TRIGGER_BITS, '0');
216 
217  unsigned int bit = 0;
218 
219  for (std::string::reverse_iterator i = buffer.rbegin(); i != buffer.rend() && bit != NUMBER_OF_TRIGGER_BITS; ++i, ++bit) {
220  if (hasTriggerBit(bit)) {
221  *i = '1';
222  }
223  }
224 
225  return buffer;
226  }
bool hasTriggerBit(const unsigned int bit) const
Check trigger bit.

Member Data Documentation

◆ triggeredHits

std::vector<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::triggeredHits
protectedinherited

Definition at line 264 of file JDAQEvent.hh.

◆ snapshotHits

std::vector<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::snapshotHits
protectedinherited

Definition at line 265 of file JDAQEvent.hh.

◆ length

int KM3NETDAQ::JDAQAbstractPreamble::length
protectedinherited

Definition at line 69 of file JDAQAbstractPreamble.hh.

◆ type

int KM3NETDAQ::JDAQAbstractPreamble::type
protectedinherited

Definition at line 70 of file JDAQAbstractPreamble.hh.

◆ overlays

unsigned int KM3NETDAQ::JDAQEventHeader::overlays
protectedinherited

Definition at line 82 of file JDAQEventHeader.hh.

◆ detector_id

int KM3NETDAQ::JDAQChronometer::detector_id
protectedinherited

Definition at line 187 of file JDAQChronometer.hh.

◆ run

int KM3NETDAQ::JDAQChronometer::run
protectedinherited

Definition at line 188 of file JDAQChronometer.hh.

◆ frame_index

int KM3NETDAQ::JDAQChronometer::frame_index
protectedinherited

Definition at line 189 of file JDAQChronometer.hh.

◆ timeslice_start

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::timeslice_start
protectedinherited

Definition at line 190 of file JDAQChronometer.hh.

◆ trigger_counter

JTriggerCounter_t KM3NETDAQ::JDAQTriggerCounter::trigger_counter
protectedinherited

Definition at line 131 of file JDAQTriggerCounter.hh.

◆ trigger_mask

JTriggerMask_t KM3NETDAQ::JDAQTriggerMask::trigger_mask
protectedinherited

Definition at line 267 of file JDAQTriggerMask.hh.


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