Jpp  18.2.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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< Tbegin () const
 Get begin of data. More...
 
template<>
JDAQEvent::const_iterator
< JDAQTriggeredHit
begin () const
 Get begin of triggered hits. More...
 
template<>
JDAQEvent::const_iterator
< JDAQSnapshotHit > 
begin () const
 Get begin of snapshot hits. More...
 
template<class T >
const_iterator< Tend () const
 Get end of data. More...
 
template<>
JDAQEvent::const_iterator
< JDAQTriggeredHit
end () const
 Get end of triggered hits. More...
 
template<>
JDAQEvent::const_iterator
< JDAQSnapshotHit > 
end () const
 Get end of snapshot hits. More...
 
template<class T >
const_reverse_iterator< Trbegin () const
 Get reverse begin of data. More...
 
template<>
JDAQEvent::const_reverse_iterator
< JDAQTriggeredHit
rbegin () const
 Get reverse begin of triggered hits. More...
 
template<>
JDAQEvent::const_reverse_iterator
< JDAQSnapshotHit > 
rbegin () const
 Get reverse begin of snapshot hits. More...
 
template<class T >
const_reverse_iterator< Trend () const
 Get reverse end of data. More...
 
template<>
JDAQEvent::const_reverse_iterator
< JDAQTriggeredHit
rend () const
 Get reverse end of triggered hits. More...
 
template<>
JDAQEvent::const_reverse_iterator
< JDAQSnapshotHit > 
rend () 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...
 
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< JDAQSnapshotHit > snapshotHits
 
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 46 of file JTriggeredEvent.hh.

Constructor & Destructor Documentation

JTRIGGER::JTriggeredEvent::JTriggeredEvent ( )
inline

Default constructor.

Definition at line 55 of file JTriggeredEvent.hh.

55  :
56  JDAQEvent()
57  {}
JDAQEvent()
Default constructor.
Definition: JDAQEvent.hh:45
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 74 of file JTriggeredEvent.hh.

81  :
82  JDAQEvent()
83  {
84  using namespace std;
85  using namespace JPP;
86 
87  // Header
88 
89  setDAQChronometer(chronometer);
90 
91  trigger_mask = mask;
92 
93  // Triggered hits
94 
95  const JTimeRange timeRange(hit.getT1(), hit.getT1() + TMaxLocal_ns);
96 
97  const JModule& root = moduleRouter.getModule(hit.getModuleID());
98 
99  const JDAQSuperFrame& frame = timesliceRouter.getSuperFrame(hit.getModuleIdentifier());
100  const JDAQFrameSubset subset = timesliceRouter.getFrameSubset(hit.getModuleIdentifier(), getTimeRange(timeRange, root));
101 
102  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
103 
104  const JCalibration& calibration = root.getPMT(i->getPMT()).getCalibration();
105 
106  const double t1 = getTime(*i, calibration);
107 
108  if (!frame.testHighRateVeto(i->getPMT()) &&
109  !frame.testFIFOStatus (i->getPMT())) {
110 
111  if (timeRange(t1)) {
112  triggeredHits.push_back(JDAQTriggeredHit(hit.getModuleIdentifier(), *i, mask));
113  }
114  }
115  }
116 
117  // Snapshot hits
118 
119  if (snapshot.is_valid()) {
120 
121  const JTimeRange timeRange(hit.getT1() + snapshot.getLowerLimit() - TMaxLocal_ns,
122  hit.getT1() + snapshot.getUpperLimit() + TMaxLocal_ns);
123 
124  for (JDAQTimeslice::const_iterator super_frame = timesliceRouter->begin(); super_frame != timesliceRouter->end(); ++super_frame) {
125 
126  if (!super_frame->empty()) {
127 
128  if (moduleRouter.hasModule(super_frame->getModuleID())) {
129 
130  const JModule& module = moduleRouter.getModule(super_frame->getModuleID());
131 
132  if (getDistance(root.getPosition(), hit.getPosition()) < DMax_m) {
133 
134  const JDAQFrameSubset& subset = timesliceRouter.getFrameSubset(super_frame->getModuleIdentifier(), getTimeRange(timeRange, module));
135 
136  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
137 
138  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
139 
140  const double t1 = getTime(*i, calibration);
141 
142  if (timeRange(t1)) {
143  snapshotHits.push_back(JDAQSnapshotHit(super_frame->getModuleIdentifier(), *i));
144  }
145  }
146  }
147  }
148  }
149  }
150  }
151  }
const JDAQSuperFrame & getSuperFrame(const JDAQModuleIdentifier &module) const
Get super frame.
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
int getModuleID() const
Get module identifier.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for a composite optical module.
Definition: JModule.hh:68
JDAQKeyHit JDAQSnapshotHit
Definition: JDAQEvent.hh:24
JDAQEvent()
Default constructor.
Definition: JDAQEvent.hh:45
const_iterator begin() const
Definition: JDAQFrame.hh:43
JDAQFrameSubset getFrameSubset(const JDAQModuleIdentifier &module, const JTimeRange &timeRange) const
Get subset of frame given module identifier and range of hit times.
JCalibration getCalibration(const JCalibration &first, const JCalibration &second)
Get calibration to go from first to second calibration.
JTimeRange getTimeRange(const JEvent &event)
Get time range (i.e. earlist and latest hit time) of triggered event.
double getT1() const
Get leading edge of hit.
Data structure for time calibration.
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
double getDistance(const JFirst_t &first, const JSecond_t &second)
Get distance between objects.
Calibration.
Definition: JHead.hh:328
then for NAME in JDAQPreamble JDAQChronometer JDAQModuleIdentifier JDAQPMTIdentifier JDAQFrameStatus JDAQUTCExtended JDAQTimeslice JDAQTimesliceHeader JDAQSuperFrame JDAQSuperFrameHeader JDAQHit JDAQSummaryslice JDAQSummarysliceHeader JDAQSummaryFrame JDAQEvent JDAQEventHeader JDAQTriggerCounter JDAQTriggerMask JDAQKeyHit JDAQTriggeredHit
Subset of data frame.
Definition: JDAQFrame.hh:23
Hit data structure.
Definition: JDAQHit.hh:34
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:130
const JPMT & getPMT(const int index) const
Get PMT.
Definition: JModule.hh:173
bool is_valid() const
Check validity of range.
Definition: JRange.hh:311
bool hasModule(const JObjectID &id) const
Has module.
const_iterator end() const
Definition: JDAQFrame.hh:44
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
Data frame of one optical module.
do JPlot2D f $WORKDIR canberra[${EMITTER}] root
Definition: JCanberra.sh:132
double getTime(const JDAQHit &hit, const JCalibration &cal)
Get calibrated time of DAQ hit.
Definition: JHitToolkit.hh:34
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 162 of file JTriggeredEvent.hh.

166  :
167  JDAQEvent()
168  {
169  using namespace std;
170 
171  // Header
172 
173  setDAQChronometer(event.getDAQChronometer());
174 
175  overlays = event.getOverlays();
176  trigger_mask = event.getTriggerMask();
177 
178  // Triggered hits
179 
180  for (JEvent::const_iterator hit = event.begin(); hit != event.end(); ++hit) {
181 
182  const JTimeRange timeRange(hit->getT1(), hit->getT1() + TMaxLocal_ns);
183 
184  const JModule& module = moduleRouter.getModule(hit->getModuleID());
185 
186  const JDAQSuperFrame& frame = timesliceRouter.getSuperFrame(hit->getModuleIdentifier());
187  const JDAQFrameSubset subset = timesliceRouter.getFrameSubset(hit->getModuleIdentifier(), getTimeRange(timeRange, module));
188 
189  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
190 
191  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
192 
193  const double t1 = getTime(*i, calibration);
194 
195  if (!frame.testHighRateVeto(i->getPMT()) &&
196  !frame.testFIFOStatus (i->getPMT())) {
197 
198  if (timeRange(t1)) {
199  triggeredHits.push_back(JDAQTriggeredHit(hit->getModuleIdentifier(), *i, hit->getTriggerMask()));
200  }
201  }
202  }
203  }
204 
205  if (!triggeredHits.empty()) {
206 
207  // combine trigger masks of identical hits and remove redundant hits
208 
209  sort(triggeredHits.begin(), triggeredHits.end(), less<JDAQKeyHit>());
210 
212 
214 
215  if (static_cast<const JDAQKeyHit&>(*i) == static_cast<const JDAQKeyHit&>(*out))
216  out->addTriggerMask(*i);
217  else
218  *(++out) = *i;
219  }
220 
221  triggeredHits.resize(distance(triggeredHits.begin(), ++out));
222  }
223 
224 
225  // Snapshot hits
226 
227  if (snapshot.is_valid()) {
228 
229  const JTimeRange timeRange(event. begin()->getT1() + snapshot.getLowerLimit() - TMaxLocal_ns,
230  event.rbegin()->getT1() + snapshot.getUpperLimit() + TMaxLocal_ns);
231 
232  for (JDAQTimeslice::const_iterator super_frame = timesliceRouter->begin(); super_frame != timesliceRouter->end(); ++super_frame) {
233 
234  if (!super_frame->empty()) {
235 
236  if (moduleRouter.hasModule(super_frame->getModuleID())) {
237 
238  const JModule& module = moduleRouter.getModule(super_frame->getModuleID());
239 
240  const JDAQFrameSubset& subset = timesliceRouter.getFrameSubset(super_frame->getModuleIdentifier(), getTimeRange(timeRange, module));
241 
242  for (JDAQFrameSubset::const_iterator i = subset.begin(); i != subset.end(); ++i) {
243 
244  const JCalibration& calibration = module.getPMT(i->getPMT()).getCalibration();
245 
246  const double t1 = getTime(*i, calibration);
247 
248  if (timeRange(t1)) {
249  snapshotHits.push_back(JDAQSnapshotHit(super_frame->getModuleIdentifier(), *i));
250  }
251  }
252  }
253  }
254  }
255  }
256  }
const JDAQSuperFrame & getSuperFrame(const JDAQModuleIdentifier &module) const
Get super frame.
DAQ key hit.
Definition: JDAQKeyHit.hh:19
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for a composite optical module.
Definition: JModule.hh:68
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
JDAQKeyHit JDAQSnapshotHit
Definition: JDAQEvent.hh:24
JDAQEvent()
Default constructor.
Definition: JDAQEvent.hh:45
const_iterator begin() const
Definition: JDAQFrame.hh:43
JDAQFrameSubset getFrameSubset(const JDAQModuleIdentifier &module, const JTimeRange &timeRange) const
Get subset of frame given module identifier and range of hit times.
JCalibration getCalibration(const JCalibration &first, const JCalibration &second)
Get calibration to go from first to second calibration.
JTimeRange getTimeRange(const JEvent &event)
Get time range (i.e. earlist and latest hit time) of triggered event.
Data structure for time calibration.
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
Calibration.
Definition: JHead.hh:328
then for NAME in JDAQPreamble JDAQChronometer JDAQModuleIdentifier JDAQPMTIdentifier JDAQFrameStatus JDAQUTCExtended JDAQTimeslice JDAQTimesliceHeader JDAQSuperFrame JDAQSuperFrameHeader JDAQHit JDAQSummaryslice JDAQSummarysliceHeader JDAQSummaryFrame JDAQEvent JDAQEventHeader JDAQTriggerCounter JDAQTriggerMask JDAQKeyHit JDAQTriggeredHit
Subset of data frame.
Definition: JDAQFrame.hh:23
const_iterator< T > begin() const
Get begin of data.
Hit data structure.
Definition: JDAQHit.hh:34
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
const JPMT & getPMT(const int index) const
Get PMT.
Definition: JModule.hh:173
bool testHighRateVeto() const
Test high-rate veto status.
bool is_valid() const
Check validity of range.
Definition: JRange.hh:311
bool hasModule(const JObjectID &id) const
Has module.
const_iterator end() const
Definition: JDAQFrame.hh:44
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
Data frame of one optical module.
double getTime(const JDAQHit &hit, const JCalibration &cal)
Get calibrated time of DAQ hit.
Definition: JHitToolkit.hh:34
bool testFIFOStatus() const
Test FIFO status.

Member Function Documentation

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

Get container with hits.

Returns
container with hits
template<class T >
std::vector<T>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get container with hits.

Returns
container with hits
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  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
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  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<>
std::vector<JDAQTriggeredHit>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get triggered hits.

Returns
triggered hits

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

42  {
43  return triggeredHits;
44  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
template<>
std::vector<JDAQKeyHit>& KM3NETDAQ::JDAQEvent::getHits ( )
inherited

Get snapshot hits.

Returns
snapshot hits

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

54  {
55  return snapshotHits;
56  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
const_iterator<T> KM3NETDAQ::JDAQEvent::begin ( ) const
inherited

Get begin of data.

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

Get begin of triggered hits.

Returns
begin triggered hits

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

66  {
67  return triggeredHits.begin();
68  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
template<>
JDAQEvent::const_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::begin ( ) const
inherited

Get begin of snapshot hits.

Returns
begin snapshot hits

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

90  {
91  return snapshotHits.begin();
92  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
const_iterator<T> KM3NETDAQ::JDAQEvent::end ( ) const
inherited

Get end of data.

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

Get end of triggered hits.

Returns
end triggered hits

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

78  {
79  return triggeredHits.end();
80  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
template<>
JDAQEvent::const_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::end ( ) const
inherited

Get end of snapshot hits.

Returns
end snapshot hits

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

102  {
103  return snapshotHits.end();
104  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
const_reverse_iterator<T> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of data.

Returns
begin of data
template<>
JDAQEvent::const_reverse_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of triggered hits.

Returns
begin triggered hits

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

114  {
115  return triggeredHits.rbegin();
116  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
template<>
JDAQEvent::const_reverse_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::rbegin ( ) const
inherited

Get reverse begin of snapshot hits.

Returns
begin snapshot hits

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

138  {
139  return snapshotHits.rbegin();
140  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
const_reverse_iterator<T> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of data.

Returns
end of data
template<>
JDAQEvent::const_reverse_iterator<JDAQTriggeredHit> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of triggered hits.

Returns
end triggered hits

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

126  {
127  return triggeredHits.rend();
128  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
template<>
JDAQEvent::const_reverse_iterator<JDAQSnapshotHit> KM3NETDAQ::JDAQEvent::rend ( ) const
inherited

Get reverse end of snapshot hits.

Returns
end snapshot hits

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

150  {
151  return snapshotHits.rend();
152  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
unsigned int KM3NETDAQ::JDAQEvent::size ( ) const
inherited

Get number of hits.

Returns
number of hits
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  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
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  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
template<class T >
bool KM3NETDAQ::JDAQEvent::empty ( ) const
inherited

Check emptyness of hit container.

Returns
true if empty; else false
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  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
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  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
void KM3NETDAQ::JDAQEvent::clear ( )
inlineinherited

Clear event.

Definition at line 193 of file JDAQEvent.hh.

194  {
195  snapshotHits .clear();
196  triggeredHits.clear();
197  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
void KM3NETDAQ::JDAQEvent::push_back ( const JDAQKeyHit hit)
inlineinherited

Add hit.

Parameters
hithit

Definition at line 205 of file JDAQEvent.hh.

206  {
207  snapshotHits.push_back(hit);
208  }
std::vector< JDAQSnapshotHit > snapshotHits
Definition: JDAQEvent.hh:267
void KM3NETDAQ::JDAQEvent::push_back ( const JDAQTriggeredHit hit)
inlineinherited

Add hit.

Parameters
hithit

Definition at line 216 of file JDAQEvent.hh.

217  {
218  triggeredHits.push_back(hit);
219  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
static JTriggerMask_t KM3NETDAQ::JDAQEvent::getTriggerMask ( const JDAQTriggeredHit hit)
inlinestaticinherited

Get trigger mask of given hit.

Parameters
hithit
Returns
trigger mask

Definition at line 228 of file JDAQEvent.hh.

229  {
230  return hit.getTriggerMask();
231  }
JTriggerMask_t getTriggerMask() const
Get trigger mask.
JTriggerMask_t KM3NETDAQ::JDAQEvent::getTriggerMask ( const JDAQSnapshotHit hit) const
inlineinherited

Get trigger mask of given hit.

Parameters
hithit
Returns
trigger mask

Definition at line 240 of file JDAQEvent.hh.

241  {
243  if (*i == hit) {
244  return i->getTriggerMask();
245  }
246  }
247 
248  return JTriggerMask_t(0);
249  }
std::vector< JDAQTriggeredHit > triggeredHits
Definition: JDAQEvent.hh:266
unsigned long long int JTriggerMask_t
Type definition of trigger mask.
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  }
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  }
DAQ key hit.
Definition: JDAQKeyHit.hh:19
int getModuleID() const
Get module identifier.
JTriggerMask_t getTriggerMask() const
Get trigger mask.
Template const_iterator.
Definition: JDAQEvent.hh:68
unsigned int getOverlays() const
Get number of overlays.
Auxiliary class to set-up Hit.
Definition: JSirene.hh:57
JTriggerCounter_t getCounter() const
Get trigger counter.
KM3NETDAQ::JDAQEvent::ClassDef ( JDAQEvent  ,
 
)
inherited
KM3NETDAQ::JDAQPreamble::ClassDef ( JDAQPreamble  ,
 
)
inherited
KM3NETDAQ::JDAQEventHeader::ClassDef ( JDAQEventHeader  ,
 
)
inherited
KM3NETDAQ::JDAQHeader::ClassDef ( JDAQHeader  ,
 
)
inherited
KM3NETDAQ::JDAQChronometer::ClassDef ( JDAQChronometer  ,
 
)
inherited
KM3NETDAQ::JDAQTriggerCounter::ClassDef ( JDAQTriggerCounter  ,
 
)
inherited
KM3NETDAQ::JDAQTriggerMask::ClassDef ( JDAQTriggerMask  ,
 
)
inherited
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.
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  }
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  }
KM3NETDAQ::JDAQAbstractPreamble::ClassDefNV ( JDAQAbstractPreamble  ,
 
)
inherited
const JDAQEventHeader& KM3NETDAQ::JDAQEventHeader::getDAQEventHeader ( ) const
inlineinherited

Get DAQ event header.

Returns
DAQ event header

Definition at line 61 of file JDAQEventHeader.hh.

62  {
63  return static_cast<const JDAQEventHeader&>(*this);
64  }
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 73 of file JDAQEventHeader.hh.

74  {
75  return (this->getDetectorID() == header.getDetectorID() &&
76  this->getRunNumber() == header.getRunNumber() &&
77  this->getFrameIndex() == header.getFrameIndex() &&
78  this->getCounter() == header.getCounter());
79  }
int getDetectorID() const
Get detector identifier.
int getRunNumber() const
Get run number.
int getFrameIndex() const
Get frame index.
JTriggerCounter_t getCounter() const
Get trigger counter.
unsigned int KM3NETDAQ::JDAQEventHeader::getOverlays ( ) const
inlineinherited

Get number of overlays.

Returns
number of overlays

Definition at line 87 of file JDAQEventHeader.hh.

88  {
89  return overlays;
90  }
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  }
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  }
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  }
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  }
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  }
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  }
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  }
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  }
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  }
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  }
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  }
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.
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  }
Auxiliary class to count triggers.
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.
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  }
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  }
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  }
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.
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  }
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  }
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  }
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  }
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.
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  }
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask.
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.
Auxiliary class for trigger mask.
JDAQTriggerMask & addTriggerBit(const unsigned int bit)
Add trigger bit.
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.
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
then awk string

Member Data Documentation

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

Definition at line 266 of file JDAQEvent.hh.

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

Definition at line 267 of file JDAQEvent.hh.

int KM3NETDAQ::JDAQAbstractPreamble::length
protectedinherited

Definition at line 69 of file JDAQAbstractPreamble.hh.

int KM3NETDAQ::JDAQAbstractPreamble::type
protectedinherited

Definition at line 70 of file JDAQAbstractPreamble.hh.

unsigned int KM3NETDAQ::JDAQEventHeader::overlays
protectedinherited

Definition at line 97 of file JDAQEventHeader.hh.

int KM3NETDAQ::JDAQChronometer::detector_id
protectedinherited

Definition at line 187 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::run
protectedinherited

Definition at line 188 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::frame_index
protectedinherited

Definition at line 189 of file JDAQChronometer.hh.

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::timeslice_start
protectedinherited

Definition at line 190 of file JDAQChronometer.hh.

JTriggerCounter_t KM3NETDAQ::JDAQTriggerCounter::trigger_counter
protectedinherited

Definition at line 131 of file JDAQTriggerCounter.hh.

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: