Jpp
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | List of all members
JTRIGGER::JEvent Class Reference

Triggered event. More...

#include <JEvent.hh>

Inheritance diagram for JTRIGGER::JEvent:
KM3NETDAQ::JDAQChronometer KM3NETDAQ::JDAQTriggerMask std::vector< JTriggeredHit >

Public Member Functions

 JEvent ()
 Default constructor. More...
 
template<class T >
 JEvent (const JDAQChronometer &chronometer, T __begin, T __end, const unsigned int bit)
 Constructor. More...
 
template<class JHit_t , class T >
 JEvent (const JDAQChronometer &chronometer, const JHit_t &root, T __begin, T __end, const unsigned int bit)
 Constructor. More...
 
template<class JHit_t >
 JEvent (const JDAQChronometer &chronometer, const JHit_t &root, const unsigned int bit)
 Constructor. More...
 
void merge (const JEvent &event)
 Merge event. More...
 
unsigned int getOverlays () const
 Get number of overlays. 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...
 
 ClassDef (JDAQChronometer, 3)
 
const JDAQTriggerMaskgetDAQTriggerMask () const
 Get DAQ trigger mask. More...
 
JTriggerMask_t getTriggerMask () const
 Get 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...
 
 ClassDef (JDAQTriggerMask, 1)
 

Static Public Member Functions

static JDAQTriggerMask valueOf (const std::string &buffer)
 Extract trigger mask. More...
 

Protected Attributes

unsigned int overlays
 
int detector_id
 
int run
 
int frame_index
 
JDAQUTCExtended timeslice_start
 
JTriggerMask_t trigger_mask
 

Private Attributes

std::vector< JTriggeredHitbuffer
 

Detailed Description

Triggered event.

Definition at line 31 of file JEvent.hh.

Constructor & Destructor Documentation

◆ JEvent() [1/4]

JTRIGGER::JEvent::JEvent ( )
inline

Default constructor.

Definition at line 40 of file JEvent.hh.

40  :
43  overlays(0)
44  {}

◆ JEvent() [2/4]

template<class T >
JTRIGGER::JEvent::JEvent ( const JDAQChronometer chronometer,
__begin,
__end,
const unsigned int  bit 
)
inline

Constructor.

The triggered hits will be sorted to ensure proper functioning of method JEvent::merge and class JEventOverlap.

Parameters
chronometerDAQ chronometer
__beginbegin of hit list
__endend of hit list
bittrigger bit

Definition at line 58 of file JEvent.hh.

61  :
62  JDAQChronometer(chronometer),
64  overlays(0)
65  {
66  for (T i = __begin; i != __end; ++i) {
67  push_back(JTriggeredHit(*i, this->getTriggerMask()));
68  }
69 
70  std::sort(this->begin(), this->end());
71  }

◆ JEvent() [3/4]

template<class JHit_t , class T >
JTRIGGER::JEvent::JEvent ( const JDAQChronometer chronometer,
const JHit_t root,
__begin,
__end,
const unsigned int  bit 
)
inline

Constructor.

The triggered hits will be sorted to ensure proper functioning of method JEvent::merge and class JEventOverlap.

Parameters
chronometerDAQ chronometer
rootroot hit
__beginbegin of hit list
__endend of hit list
bittrigger bit

Definition at line 86 of file JEvent.hh.

90  :
91  JDAQChronometer(chronometer),
93  overlays(0)
94  {
95  push_back(JTriggeredHit(root, this->getTriggerMask()));
96 
97  for (T i = __begin; i != __end; ++i) {
98  push_back(JTriggeredHit(*i, this->getTriggerMask()));
99  }
100 
101  std::sort(this->begin(), this->end());
102  }

◆ JEvent() [4/4]

template<class JHit_t >
JTRIGGER::JEvent::JEvent ( const JDAQChronometer chronometer,
const JHit_t root,
const unsigned int  bit 
)
inline

Constructor.

The triggered hits will be sorted to ensure proper functioning of method JEvent::merge and class JEventOverlap.

Parameters
chronometerDAQ chronometer
rootroot hit
bittrigger bit

Definition at line 115 of file JEvent.hh.

117  :
118  JDAQChronometer(chronometer),
121  overlays(0)
122  {
123  push_back(JTriggeredHit(root, this->getTriggerMask()));
124  }

Member Function Documentation

◆ merge()

void JTRIGGER::JEvent::merge ( const JEvent event)
inline

Merge event.

Parameters
eventevent

Definition at line 132 of file JEvent.hh.

133  {
134  using namespace std;
135 
136  addTriggerMask(event.getTriggerMask());
137 
138  const_iterator __hit1 = this ->begin();
139  const_iterator __end1 = this ->end();
140 
141  const_iterator __hit2 = event.begin();
142  const_iterator __end2 = event.end();
143 
144  buffer.resize(this->size() + event.size());
145 
146  iterator out = buffer.begin();
147 
148  while (__hit1 != __end1 && __hit2 != __end2) {
149 
150  if (*__hit1 < *__hit2) {
151 
152  *out = *__hit1;
153  ++__hit1;
154 
155  } else if (*__hit2 < *__hit1) {
156 
157  *out = *__hit2;
158  ++__hit2;
159 
160  } else {
161 
162  *out = *__hit1;
163 
164  out->addTriggerMask(*__hit2);
165 
166  ++__hit1;
167  ++__hit2;
168  }
169 
170  ++out;
171  }
172 
173  // append remaining hits from either set
174 
175  out = copy(__hit1, __end1, out);
176  out = copy(__hit2, __end2, out);
177 
178  buffer.resize(distance(buffer.begin(), out));
179 
180  this->swap(buffer);
181 
182  ++overlays;
183  }

◆ getOverlays()

unsigned int JTRIGGER::JEvent::getOverlays ( ) const
inline

Get number of overlays.

Returns
number of overlays

Definition at line 191 of file JEvent.hh.

192  {
193  return overlays;
194  }

◆ 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  }

◆ ClassDef() [1/2]

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

◆ 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  }

◆ getTriggerMask()

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  }

◆ 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  }

◆ 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  }

◆ 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  }

◆ ClassDef() [2/2]

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

Member Data Documentation

◆ overlays

unsigned int JTRIGGER::JEvent::overlays
protected

Definition at line 198 of file JEvent.hh.

◆ buffer

std::vector<JTriggeredHit> JTRIGGER::JEvent::buffer
mutableprivate

Definition at line 201 of file JEvent.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_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:
std::iterator
Definition: JSTDTypes.hh:18
KM3NETDAQ::JDAQChronometer::timeslice_start
JDAQUTCExtended timeslice_start
Definition: JDAQChronometer.hh:190
JTRIGGER::JTriggeredHit
Data structure for triggered hit.
Definition: JTriggeredHit.hh:27
JTRIGGER::JEvent::buffer
std::vector< JTriggeredHit > buffer
Definition: JEvent.hh:201
KM3NETDAQ::JDAQTriggerMask::trigger_mask
JTriggerMask_t trigger_mask
Definition: JDAQTriggerMask.hh:267
std::vector< JTriggeredHit >
distance
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Definition: PhysicsEvent.hh:434
KM3NETDAQ::JDAQTriggerMask::getTriggerMask
JTriggerMask_t getTriggerMask() const
Get trigger mask.
Definition: JDAQTriggerMask.hh:106
KM3NETDAQ::NUMBER_OF_TRIGGER_BITS
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
Definition: JDAQTriggerMask.hh:27
JAANET::copy
void copy(const Head &from, JHead &to)
Copy header from from to to.
Definition: JHead.cc:152
KM3NETDAQ::JDAQTriggerMask::addTriggerMask
JDAQTriggerMask & addTriggerMask(const JDAQTriggerMask &mask)
Add trigger bit pattern.
Definition: JDAQTriggerMask.hh:140
JTRIGGER::JEvent::overlays
unsigned int overlays
Definition: JEvent.hh:198
KM3NETDAQ::getTriggerMask
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask.
Definition: JDAQTriggerMask.hh:36
KM3NETDAQ::JDAQTriggerMask::JDAQTriggerMask
JDAQTriggerMask()
Default constructor.
Definition: JDAQTriggerMask.hh:58
KM3NETDAQ::JDAQChronometer::frame_index
int frame_index
Definition: JDAQChronometer.hh:189
KM3NETDAQ::JDAQTriggerMask
Auxiliary class for trigger mask.
Definition: JDAQTriggerMask.hh:48
KM3NETDAQ::JDAQTriggerMask::hasTriggerBit
bool hasTriggerBit(const unsigned int bit) const
Check trigger bit.
Definition: JDAQTriggerMask.hh:180
std
Definition: jaanetDictionary.h:36
KM3NETDAQ::JDAQChronometer::run
int run
Definition: JDAQChronometer.hh:188
KM3NETDAQ::JDAQChronometer::JDAQChronometer
JDAQChronometer()
Default constructor.
Definition: JDAQChronometer.hh:32
KM3NETDAQ::JDAQChronometer::detector_id
int detector_id
Definition: JDAQChronometer.hh:187