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

Hit data structure. More...

#include <JHit.hh>

Inheritance diagram for JTRIGGER::JHit:
JTRIGGER::JHitL0 JTRIGGER::JHitR0 JTRIGGER::JHitR1 JTRIGGER::JTriggeredHit JFIT::JHitW0

Public Member Functions

 JHit ()
 Default constructor. More...
 
 JHit (const double t_ns)
 Constructor. More...
 
 JHit (const double t_ns, const double tot_ns)
 Constructor. More...
 
template<class T >
 JHit (T __begin, T __end)
 Get combined hit. 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...
 

Static Public Member Functions

static bool getSlewing ()
 Get slewing option. More...
 
static void setSlewing (const bool slewing)
 Set slewing option. More...
 

Static Protected Member Functions

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

Protected Attributes

double t
 time of leading edge [ns] More...
 
double tot
 time-ver-threshold [ns] More...
 

Detailed Description

Hit data structure.

Definition at line 22 of file JHit.hh.

Constructor & Destructor Documentation

◆ JHit() [1/4]

JTRIGGER::JHit::JHit ( )
inline

Default constructor.

Definition at line 28 of file JHit.hh.

28  :
29  t(0.0),
30  tot(0.0)
31  {}

◆ JHit() [2/4]

JTRIGGER::JHit::JHit ( const double  t_ns)
inline

Constructor.

Parameters
t_nscalibrated time of hit [ns]

Definition at line 39 of file JHit.hh.

39  :
40  t(t_ns),
41  tot(0.0)
42  {}

◆ JHit() [3/4]

JTRIGGER::JHit::JHit ( const double  t_ns,
const double  tot_ns 
)
inline

Constructor.

Parameters
t_nscalibrated time of hit [ns]
tot_nstime over threshold of hit [ns]

Definition at line 50 of file JHit.hh.

50  :
51  t(t_ns),
52  tot(tot_ns)
53  {}

◆ JHit() [4/4]

template<class T >
JTRIGGER::JHit::JHit ( __begin,
__end 
)
inline

Get combined hit.

Note that:

  • leading edge of this hit is set to the earliest leading edge of the all hits;
  • trailing edge of this hit is set to the latest trailing edge of the all hits;

It is assumed that the template class has the following methods:

     getT();
     getToT();

which should return the time and time over threshold, respectively.

Parameters
__beginbegin of hits
__endend of hits

Definition at line 74 of file JHit.hh.

74  :
75  t(0.0),
76  tot(0.0)
77  {
78  if (__begin != __end) {
79 
80  double t1 = __begin->getT1();
81  double t2 = __begin->getT2();
82 
83  for (T i = __begin; ++i != __end; ) {
84  if (t1 > i->getT1()) { t1 = i->getT1(); }
85  if (t2 < i->getT2()) { t2 = i->getT2(); }
86  }
87 
88  this->t = t1;
89  this->tot = t2 - t1;
90  }
91  }

Member Function Documentation

◆ getHit()

const JHit& JTRIGGER::JHit::getHit ( ) const
inline

Get hit.

Returns
hit

Definition at line 99 of file JHit.hh.

100  {
101  return static_cast<const JHit&>(*this);
102  }

◆ getSlewing()

static bool JTRIGGER::JHit::getSlewing ( )
inlinestatic

Get slewing option.

Returns
slewing option

Definition at line 110 of file JHit.hh.

111  {
112  return get_slewing();
113  }

◆ setSlewing()

static void JTRIGGER::JHit::setSlewing ( const bool  slewing)
inlinestatic

Set slewing option.

Parameters
slewingslewing option

Definition at line 121 of file JHit.hh.

122  {
123  get_slewing() = slewing;
124  }

◆ operator double()

JTRIGGER::JHit::operator double ( ) const
inline

Type conversion.

Returns
time [ns]

Definition at line 132 of file JHit.hh.

133  {
134  return t;
135  }

◆ getT()

double JTRIGGER::JHit::getT ( ) const
inline

Get calibrated time of hit.

Returns
time [ns]

Definition at line 143 of file JHit.hh.

144  {
145  if (!getSlewing())
146  return t;
147  else
148  return t - getRiseTime(tot);
149  }

◆ getToT()

double JTRIGGER::JHit::getToT ( ) const
inline

Get calibrated time over threshold of hit.

Returns
time over threshold [ns]

Definition at line 157 of file JHit.hh.

158  {
159  return tot;
160  }

◆ getT1()

double JTRIGGER::JHit::getT1 ( ) const
inline

Get leading edge of hit.

Note that no slewing correction is applied.

Returns
time [ns]

Definition at line 170 of file JHit.hh.

171  {
172  return t;
173  }

◆ getT2()

double JTRIGGER::JHit::getT2 ( ) const
inline

Get trailing edge of hit.

Note that no slewing correction is applied.

Returns
time [ns]

Definition at line 183 of file JHit.hh.

184  {
185  return t + tot;
186  }

◆ join()

void JTRIGGER::JHit::join ( const JHit hit)
inline

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 JHit.hh.

199  {
200  this->tot = hit.getT2() - this->getT1();
201  }

◆ get_slewing()

static bool& JTRIGGER::JHit::get_slewing ( )
inlinestaticprotected

Get reference to slewing parameter.

Returns
reference to slewing parameter

Definition at line 213 of file JHit.hh.

214  {
215  static bool slewing = true;
216 
217  return slewing;
218  }

Member Data Documentation

◆ t

double JTRIGGER::JHit::t
protected

time of leading edge [ns]

Definition at line 204 of file JHit.hh.

◆ tot

double JTRIGGER::JHit::tot
protected

time-ver-threshold [ns]

Definition at line 205 of file JHit.hh.


The documentation for this class was generated from the following file:
JTRIGGER::JHit::get_slewing
static bool & get_slewing()
Get reference to slewing parameter.
Definition: JHit.hh:213
JTRIGGER::JHit::tot
double tot
time-ver-threshold [ns]
Definition: JHit.hh:205
JTRIGGER::JHit::getSlewing
static bool getSlewing()
Get slewing option.
Definition: JHit.hh:110
JTRIGGER::JHit::getT2
double getT2() const
Get trailing edge of hit.
Definition: JHit.hh:183
JTRIGGER::getRiseTime
static const JGetRiseTime getRiseTime
Function object for rise time evaluation.
Definition: JGetRiseTime.hh:313
JTRIGGER::JHit::t
double t
time of leading edge [ns]
Definition: JHit.hh:204
JTRIGGER::JHit::getT1
double getT1() const
Get leading edge of hit.
Definition: JHit.hh:170