Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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...
 
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...
 
const 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 int sizeOf ()
 Get size of object. More...
 
static JDAQTriggerMask valueOf (const std::string &buffer)
 Extract trigger mask. More...
 
static int sizeOf ()
 Get size of object. 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

JTRIGGER::JEvent::JEvent ( )
inline

Default constructor.

Definition at line 40 of file JEvent.hh.

40  :
44  overlays(0)
45  {}
JDAQTriggerMask()
Default constructor.
JDAQChronometer()
Default constructor.
unsigned int overlays
Definition: JEvent.hh:179
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 59 of file JEvent.hh.

62  :
63  JDAQChronometer(chronometer),
66  overlays(0)
67  {
68  for (T i = __begin; i != __end; ++i) {
69  push_back(JTriggeredHit(*i, this->getTriggerMask()));
70  }
71 
72  std::sort(this->begin(), this->end());
73  }
Data structure for triggered hit.
JDAQTriggerMask()
Default constructor.
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask.
JTriggerMask_t getTriggerMask() const
Get trigger mask.
JDAQChronometer()
Default constructor.
unsigned int overlays
Definition: JEvent.hh:179
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 88 of file JEvent.hh.

92  :
93  JDAQChronometer(chronometer),
96  overlays(0)
97  {
98  push_back(JTriggeredHit(root, this->getTriggerMask()));
99 
100  for (T i = __begin; i != __end; ++i) {
101  push_back(JTriggeredHit(*i, this->getTriggerMask()));
102  }
103 
104  std::sort(this->begin(), this->end());
105  }
Data structure for triggered hit.
JDAQTriggerMask()
Default constructor.
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask.
JTriggerMask_t getTriggerMask() const
Get trigger mask.
JDAQChronometer()
Default constructor.
unsigned int overlays
Definition: JEvent.hh:179

Member Function Documentation

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

Merge event.

Parameters
eventevent

Definition at line 113 of file JEvent.hh.

114  {
115  using namespace std;
116 
118 
119  const_iterator __hit1 = this ->begin();
120  const_iterator __end1 = this ->end();
121 
122  const_iterator __hit2 = event.begin();
123  const_iterator __end2 = event.end();
124 
125  buffer.resize(this->size() + event.size());
126 
127  iterator out = buffer.begin();
128 
129  while (__hit1 != __end1 && __hit2 != __end2) {
130 
131  if (*__hit1 < *__hit2) {
132 
133  *out = *__hit1;
134  ++__hit1;
135 
136  } else if (*__hit2 < *__hit1) {
137 
138  *out = *__hit2;
139  ++__hit2;
140 
141  } else {
142 
143  *out = *__hit1;
144 
145  out->addTriggerMask(*__hit2);
146 
147  ++__hit1;
148  ++__hit2;
149  }
150 
151  ++out;
152  }
153 
154  // append remaining hits from either set
155 
156  out = copy(__hit1, __end1, out);
157  out = copy(__hit2, __end2, out);
158 
159  buffer.resize(distance(buffer.begin(), out));
160 
161  this->swap(buffer);
162 
163  ++overlays;
164  }
JTriggerMask_t getTriggerMask() const
Get trigger mask.
unsigned int overlays
Definition: JEvent.hh:179
std::vector< JTriggeredHit > buffer
Definition: JEvent.hh:182
void copy(const Head &from, JHead &to)
Copy header from from to to.
Definition: JHead.cc:40
JDAQTriggerMask & addTriggerMask(const JDAQTriggerMask &mask)
Add trigger bit pattern.
unsigned int JTRIGGER::JEvent::getOverlays ( ) const
inline

Get number of overlays.

Returns
number of overlays

Definition at line 172 of file JEvent.hh.

173  {
174  return overlays;
175  }
unsigned int overlays
Definition: JEvent.hh:179
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  }
JDAQChronometer()
Default constructor.
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  }
JDAQChronometer()
Default constructor.
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  }
const 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  {
180  }
static int KM3NETDAQ::JDAQChronometer::sizeOf ( )
inlinestaticinherited

Get size of object.

Returns
number of bytes

Definition at line 224 of file JDAQChronometer.hh.

225  {
226  return (sizeof(int) +
227  sizeof(int) +
228  sizeof(int) +
230  }
static int sizeOf()
Get size of object.
KM3NETDAQ::JDAQChronometer::ClassDef ( JDAQChronometer  ,
 
)
inherited
const JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::getDAQTriggerMask ( ) const
inlineinherited

Get DAQ trigger mask.

Returns
DAQ trigger mask

Definition at line 94 of file JDAQTriggerMask.hh.

95  {
96  return static_cast<const JDAQTriggerMask&>(*this);
97  }
JDAQTriggerMask()
Default constructor.
JTriggerMask_t KM3NETDAQ::JDAQTriggerMask::getTriggerMask ( ) const
inlineinherited

Get trigger mask.

Returns
trigger mask

Definition at line 105 of file JDAQTriggerMask.hh.

106  {
107  return trigger_mask;
108  }
void KM3NETDAQ::JDAQTriggerMask::setDAQTriggerMask ( const JDAQTriggerMask mask)
inlineinherited

Set trigger mask.

Parameters
masktrigger mask

Definition at line 116 of file JDAQTriggerMask.hh.

117  {
118  trigger_mask = mask.trigger_mask;
119  }
void KM3NETDAQ::JDAQTriggerMask::setTriggerMask ( const JTriggerMask_t  mask)
inlineinherited

Set trigger mask.

Parameters
masktrigger mask

Definition at line 127 of file JDAQTriggerMask.hh.

128  {
129  trigger_mask = mask;
130  }
JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::addTriggerMask ( const JDAQTriggerMask mask)
inlineinherited

Add trigger bit pattern.

Parameters
masktrigger mask
Returns
trigger mask

Definition at line 139 of file JDAQTriggerMask.hh.

140  {
141  trigger_mask |= mask.trigger_mask;
142 
143  return *this;
144  }
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 153 of file JDAQTriggerMask.hh.

154  {
155  return trigger_mask & mask.trigger_mask;
156  }
JDAQTriggerMask& KM3NETDAQ::JDAQTriggerMask::addTriggerBit ( const unsigned int  bit)
inlineinherited

Add trigger bit.

Parameters
bittrigger bit
Returns
trigger mask

Definition at line 165 of file JDAQTriggerMask.hh.

166  {
168 
169  return *this;
170  }
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 179 of file JDAQTriggerMask.hh.

180  {
182  }
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 191 of file JDAQTriggerMask.hh.

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

Convert trigger mask.

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

Definition at line 212 of file JDAQTriggerMask.hh.

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

Get size of object.

Returns
number of bytes

Definition at line 297 of file JDAQTriggerMask.hh.

298  {
299  return sizeof(JTriggerMask_t);
300  }
unsigned long long int JTriggerMask_t
Type definition of trigger mask.
KM3NETDAQ::JDAQTriggerMask::ClassDef ( JDAQTriggerMask  ,
 
)
inherited

Member Data Documentation

unsigned int JTRIGGER::JEvent::overlays
protected

Definition at line 179 of file JEvent.hh.

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

Definition at line 182 of file JEvent.hh.

int KM3NETDAQ::JDAQChronometer::detector_id
protectedinherited

Definition at line 237 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::run
protectedinherited

Definition at line 238 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::frame_index
protectedinherited

Definition at line 239 of file JDAQChronometer.hh.

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::timeslice_start
protectedinherited

Definition at line 240 of file JDAQChronometer.hh.

JTriggerMask_t KM3NETDAQ::JDAQTriggerMask::trigger_mask
protectedinherited

Definition at line 307 of file JDAQTriggerMask.hh.


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