1#ifndef __JTRIGGER__JBUILDL2__
2#define __JTRIGGER__JBUILDL2__
44 template<
class JHit_t>
80 template<
class JOutput_t>
82 const std::vector <JHit_t>&
inputL1,
89 clone.fast_forward(*p);
112 template<
class T,
class JOutput_t>
115 const std::vector <JHit_t>&
inputL1,
122 clone.fast_forward(*p);
124 if (
isL2(clone,*p)) {
142 template<
class JOutput_t>
163 template<
class JOutput_t>
168 if (!input.
empty()) {
202 if (
getDot(i->getDirection(),
j->getDirection()) >=
ctMin) {
259 template<
class JOutput_t>
261 const std::vector <JHit>&
inputL2,
274 hit.push_back(
JHitL0(i->getPMTIdentifier(),
296 template<
class JOutput_t>
303 (*this)(
inputL0, bufferL2, out);
317 template<
class JOutput_t>
322 if (!input.
empty()) {
372 template<
class JOutput_t>
374 const std::vector <JHit>&
inputL2,
384 clone.fast_forward(*p);
391 hit.set(i->getJHit());
393 hit.add(i->getJHit());
395 if (i->getT() <
hit.getT()) {
396 hit.setPosition(i->getPosition());
417 template<
class JOutput_t>
424 (*this)(
inputL0, bufferL2, out);
438 template<
class JOutput_t>
443 if (!input.
empty()) {
Basic data structure for L0 hit.
Basic data structure for L2 hit.
Basic data structure for R2 hit.
Data structure for optical module.
Basic data structure for time and time over threshold information of hit.
Data structure for a composite optical module.
Template definition of a multi-dimensional oscillation probability interpolation table.
std::vector< JHit > bufferL2
void operator()(const JSuperFrame2D< JHit > &inputL0, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
JBuildL2(const JL2Parameters ¶meters)
Constructor.
void operator()(const JSuperFrame2D< JHit > &inputL0, const std::vector< JHit > &inputL2, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JSuperFrame2D< JHit > &inputL0, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
void operator()(const JSuperFrame2D< JHit > &inputL0, const std::vector< JHit > &inputL2, JOutput_t out) const
Build hits from calibrated data.
JBuildL2(const JL2Parameters ¶meters)
Constructor.
std::vector< JHit > bufferL2
void operator()(const JSuperFrame2D< JHit_t > &inputL0, const std::vector< JHit_t > &inputL1, JOutput_t out) const
Build hits from calibrated data.
JBuildL2(const JL2Parameters ¶meters)
Constructor.
void operator()(T __begin, T __end, const std::vector< JHit_t > &inputL1, JOutput_t out) const
Build hits from calibrated data.
std::vector< JHit_t > bufferL1
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
bool isL2(const JSuperFrameClone2D< JHit_t > &clone, const JHit_t &hit) const
Test if requirements for given hit are satisfied.
void operator()(const JSuperFrame2D< JHit_t > &inputL0, JOutput_t out) const
Build hits from calibrated data.
Data structure for L0 hit.
Data structure for L1 hit.
Reduced data structure for L1 hit.
std::vector< value_type >::const_iterator const_iterator
Data frame of one optical module.
double getDot(const JFirst_t &first, const JSecond_t &second)
Get dot product of objects.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
double getTimeDifference(const JDAQChronometer &first, const JDAQChronometer &second)
Get time difference between two chronometers.
Auxiliary class to set-up Hit.
Auxiliary class to extend hit building functionality to all DAQ data types.
JSuperFrame2D< JHit_t > & demultiplex(const JDAQSuperFrame &input, const JModule &module) const
Demultiplex and pre-process DAQ super frame.
Data structure for L2 parameters.
double ctMin
minimal cosine space angle between PMT axes
double TMaxLocal_ns
maximal time difference [ns]
int numberOfHits
minimal number of hits