Jpp  17.3.1
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 | Static Protected Member Functions | Protected Attributes | List of all members
JTRIGGER::JTriggeredHit Class Reference

Data structure for triggered hit. More...

#include <JTriggeredHit.hh>

Inheritance diagram for JTRIGGER::JTriggeredHit:
KM3NETDAQ::JDAQPMTIdentifier JTRIGGER::JHit KM3NETDAQ::JDAQTriggerMask KM3NETDAQ::JDAQModuleIdentifier

Public Member Functions

 JTriggeredHit ()
 Default constructor. More...
 
 JTriggeredHit (const JDAQPMTIdentifier &pmt, const JHit &hit, const JDAQTriggerMask &mask)
 Constructor. More...
 
template<class JHit_t >
 JTriggeredHit (const JHit_t &hit, const JDAQTriggerMask &mask)
 Constructor. More...
 
const JDAQPMTIdentifiergetPMTIdentifier () const
 Get PMT identifier. More...
 
void setPMTIdentifier (const JDAQPMTIdentifier &pmt)
 Set PMT identifier. More...
 
int getPMTAddress () const
 Get PMT identifier. More...
 
 ClassDefNV (JDAQPMTIdentifier, 1)
 
 ClassDefNV (JDAQModuleIdentifier, 1)
 
const JDAQModuleIdentifiergetModuleIdentifier () const
 Get Module identifier. More...
 
void setModuleIdentifier (const JDAQModuleIdentifier &module)
 Set Module identifier. More...
 
int getModuleID () const
 Get module identifier. More...
 
const JHitgetHit () const
 Get hit. More...
 
 operator double () const
 Type conversion. More...
 
double getT () const
 Get calibrated time of hit. More...
 
double getToT () const
 Get calibrated time over threshold of hit. More...
 
double getT1 () const
 Get leading edge of hit. More...
 
double getT2 () const
 Get trailing edge of hit. More...
 
void join (const JHit &hit)
 Join hit. More...
 
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 bool compare (const JDAQPMTIdentifier &first, const JDAQPMTIdentifier &second)
 Compare PMT identifiers. More...
 
static bool getSlewing ()
 Get slewing option. More...
 
static void setSlewing (const bool slewing)
 Set slewing option. More...
 
static JDAQTriggerMask valueOf (const std::string &buffer)
 Extract trigger mask. More...
 

Static Protected Member Functions

static bool & get_slewing ()
 Get reference to slewing parameter. More...
 

Protected Attributes

int address
 
int id
 
double t
 time of leading edge [ns] More...
 
double tot
 time-over-threshold [ns] More...
 
JTriggerMask_t trigger_mask
 

Detailed Description

Data structure for triggered hit.

Definition at line 27 of file JTriggeredHit.hh.

Constructor & Destructor Documentation

JTRIGGER::JTriggeredHit::JTriggeredHit ( )
inline

Default constructor.

Definition at line 36 of file JTriggeredHit.hh.

36  :
38  JHit (),
40  {}
JDAQTriggerMask()
Default constructor.
JHit()
Default constructor.
JDAQPMTIdentifier()
Default constructor.
JTRIGGER::JTriggeredHit::JTriggeredHit ( const JDAQPMTIdentifier pmt,
const JHit hit,
const JDAQTriggerMask mask 
)
inline

Constructor.

Parameters
pmtPMT identifier
hithit
masktrigger mask

Definition at line 50 of file JTriggeredHit.hh.

52  :
53  JDAQPMTIdentifier(pmt),
54  JHit (hit),
55  JDAQTriggerMask (mask)
56  {}
JDAQTriggerMask()
Default constructor.
JHit()
Default constructor.
JDAQPMTIdentifier()
Default constructor.
template<class JHit_t >
JTRIGGER::JTriggeredHit::JTriggeredHit ( const JHit_t hit,
const JDAQTriggerMask mask 
)
inline

Constructor.

Parameters
hithit
masktrigger mask

Definition at line 66 of file JTriggeredHit.hh.

67  :
68  JDAQPMTIdentifier(hit.getPMTIdentifier()),
69  JHit (hit.getHit()),
70  JDAQTriggerMask (mask)
71  {}
Auxiliary class for trigger mask.
Acoustics hit.
JDAQPMTIdentifier()
Default constructor.

Member Function Documentation

const JDAQPMTIdentifier& KM3NETDAQ::JDAQPMTIdentifier::getPMTIdentifier ( ) const
inlineinherited

Get PMT identifier.

Returns
PMT identifier

Definition at line 56 of file JDAQPMTIdentifier.hh.

57  {
58  return *this;
59  }
void KM3NETDAQ::JDAQPMTIdentifier::setPMTIdentifier ( const JDAQPMTIdentifier pmt)
inlineinherited

Set PMT identifier.

Parameters
pmtPMT identifier

Definition at line 67 of file JDAQPMTIdentifier.hh.

68  {
69  *this = pmt;
70  }
int KM3NETDAQ::JDAQPMTIdentifier::getPMTAddress ( ) const
inlineinherited

Get PMT identifier.

Returns
PMT identifier

Definition at line 78 of file JDAQPMTIdentifier.hh.

79  {
80  return address;
81  }
static bool KM3NETDAQ::JDAQPMTIdentifier::compare ( const JDAQPMTIdentifier first,
const JDAQPMTIdentifier second 
)
inlinestaticinherited

Compare PMT identifiers.

The comparison is applied to the module identifer and to the PMT address. If the module identifier or PMT address is -1, the corresponding comparison evaluates to true.

Parameters
firstPMT identifier
secondPMT identifier
Returns
true if first PMT equal second PMT; else false

Definition at line 126 of file JDAQPMTIdentifier.hh.

127  {
128  return ((first .getModuleIdentifier() == second.getModuleIdentifier() ||
129  first .getModuleIdentifier() == -1 ||
130  second.getModuleIdentifier() == -1) &&
131  (first .getPMTAddress() == second.getPMTAddress() ||
132  first .getPMTAddress() == -1 ||
133  second.getPMTAddress() == -1));
134  }
int getPMTAddress() const
Get PMT identifier.
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
KM3NETDAQ::JDAQPMTIdentifier::ClassDefNV ( JDAQPMTIdentifier  ,
 
)
inherited
KM3NETDAQ::JDAQModuleIdentifier::ClassDefNV ( JDAQModuleIdentifier  ,
 
)
inherited
const JDAQModuleIdentifier& KM3NETDAQ::JDAQModuleIdentifier::getModuleIdentifier ( ) const
inlineinherited

Get Module identifier.

Returns
Module identifier

Definition at line 50 of file JDAQModuleIdentifier.hh.

51  {
52  return *this;
53  }
void KM3NETDAQ::JDAQModuleIdentifier::setModuleIdentifier ( const JDAQModuleIdentifier module)
inlineinherited

Set Module identifier.

Parameters
moduleModule identifier

Definition at line 61 of file JDAQModuleIdentifier.hh.

62  {
63  *this = module;
64  }
int KM3NETDAQ::JDAQModuleIdentifier::getModuleID ( ) const
inlineinherited

Get module identifier.

Returns
module identifier

Definition at line 72 of file JDAQModuleIdentifier.hh.

73  {
74  return id;
75  }
const JHit& JTRIGGER::JHit::getHit ( ) const
inlineinherited

Get hit.

Returns
hit

Definition at line 99 of file JTrigger/JHit.hh.

100  {
101  return static_cast<const JHit&>(*this);
102  }
Hit data structure.
static bool JTRIGGER::JHit::getSlewing ( )
inlinestaticinherited

Get slewing option.

Returns
slewing option

Definition at line 110 of file JTrigger/JHit.hh.

111  {
112  return get_slewing();
113  }
static bool & get_slewing()
Get reference to slewing parameter.
static void JTRIGGER::JHit::setSlewing ( const bool  slewing)
inlinestaticinherited

Set slewing option.

Parameters
slewingslewing option

Definition at line 121 of file JTrigger/JHit.hh.

122  {
123  get_slewing() = slewing;
124  }
static bool & get_slewing()
Get reference to slewing parameter.
then $JPP_DIR examples JDetector JSlewing P slewing
Definition: JSlewing.sh:43
JTRIGGER::JHit::operator double ( ) const
inlineinherited

Type conversion.

Returns
time [ns]

Definition at line 132 of file JTrigger/JHit.hh.

133  {
134  return t;
135  }
double t
time of leading edge [ns]
double JTRIGGER::JHit::getT ( ) const
inlineinherited

Get calibrated time of hit.

Returns
time [ns]

Definition at line 143 of file JTrigger/JHit.hh.

144  {
145  if (!getSlewing())
146  return t;
147  else
148  return t - getRiseTime(tot);
149  }
static bool getSlewing()
Get slewing option.
double t
time of leading edge [ns]
static const JGetRiseTime getRiseTime
Function object for rise time evaluation.
double tot
time-over-threshold [ns]
double JTRIGGER::JHit::getToT ( ) const
inlineinherited

Get calibrated time over threshold of hit.

Returns
time over threshold [ns]

Definition at line 157 of file JTrigger/JHit.hh.

158  {
159  return tot;
160  }
double tot
time-over-threshold [ns]
double JTRIGGER::JHit::getT1 ( ) const
inlineinherited

Get leading edge of hit.

Note that no slewing correction is applied.

Returns
time [ns]

Definition at line 170 of file JTrigger/JHit.hh.

171  {
172  return t;
173  }
double t
time of leading edge [ns]
double JTRIGGER::JHit::getT2 ( ) const
inlineinherited

Get trailing edge of hit.

Note that no slewing correction is applied.

Returns
time [ns]

Definition at line 183 of file JTrigger/JHit.hh.

184  {
185  return t + tot;
186  }
double t
time of leading edge [ns]
double tot
time-over-threshold [ns]
void JTRIGGER::JHit::join ( const JHit hit)
inlineinherited

Join hit.

Note that:

  • leading edge of this hit is maintained;
  • time over threshold of this hit is set to the difference between the trailing edge of given hit and leading edge of this hit;
Parameters
hithit

Definition at line 198 of file JTrigger/JHit.hh.

199  {
200  this->tot = hit.getT2() - this->getT1();
201  }
double getT1() const
Get leading edge of hit.
double getT2() const
Get trailing edge of hit.
double tot
time-over-threshold [ns]
static bool& JTRIGGER::JHit::get_slewing ( )
inlinestaticprotectedinherited

Get reference to slewing parameter.

Returns
reference to slewing parameter

Definition at line 213 of file JTrigger/JHit.hh.

214  {
215  static bool slewing = true;
216 
217  return slewing;
218  }
then $JPP_DIR examples JDetector JSlewing P slewing
Definition: JSlewing.sh:43
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.
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  }
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
KM3NETDAQ::JDAQTriggerMask::ClassDef ( JDAQTriggerMask  ,
 
)
inherited

Member Data Documentation

int KM3NETDAQ::JDAQPMTIdentifier::address
protectedinherited

Definition at line 141 of file JDAQPMTIdentifier.hh.

int KM3NETDAQ::JDAQModuleIdentifier::id
protectedinherited

Definition at line 112 of file JDAQModuleIdentifier.hh.

double JTRIGGER::JHit::t
protectedinherited

time of leading edge [ns]

Definition at line 204 of file JTrigger/JHit.hh.

double JTRIGGER::JHit::tot
protectedinherited

time-over-threshold [ns]

Definition at line 205 of file JTrigger/JHit.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: