1 #ifndef __JTRIGGER__JBUILDL2__
2 #define __JTRIGGER__JBUILDL2__
28 namespace JPP {
using namespace JTRIGGER; }
44 template<
class JHit_t>
80 template<
class JOutput_t>
112 template<
class T,
class JOutput_t>
124 if (
isL2(clone,*p)) {
142 template<
class JOutput_t>
163 template<
class JOutput_t>
168 if (!input.
empty()) {
188 if (this->getTimeDifference(hit,*(i->get())) <=
TMaxLocal_ns) {
194 if (this->getTimeDifference(hit,*(
j->get())) <=
TMaxLocal_ns) {
196 if (
getDot(i->getDirection(),
j->getDirection()) >=
ctMin) {
252 template<
class JOutput_t>
267 hit.push_back(
JHitL0(i->getPMTIdentifier(),
289 template<
class JOutput_t>
294 static_cast<const JBuildL2<JHit>&
>(*this)(inputL0, std::back_inserter(bufferL2));
296 (*this)(inputL0, bufferL2, out);
310 template<
class JOutput_t>
315 if (!input.
empty()) {
319 (*this)(bufferL0, out);
365 template<
class JOutput_t>
384 hit.set(i->getJHit());
386 hit.add(i->getJHit());
388 if (i->getT() < hit.getT()) {
389 hit.setPosition(i->getPosition());
410 template<
class JOutput_t>
415 static_cast<const JBuildL2<JHit>&
>(*this)(inputL0, std::back_inserter(bufferL2));
417 (*this)(inputL0, bufferL2, out);
431 template<
class JOutput_t>
436 if (!input.
empty()) {
440 (*this)(bufferL0, out);
Auxiliary class to set-up Hit.
void operator()(const JSuperFrame2D< JHit_t > &inputL0, const std::vector< JHit_t > &inputL1, JOutput_t out) const
Build hits from calibrated data.
JFrame< JElement_t, JAllocator_t >::const_iterator const_iterator
int getModuleID() const
Get module identifier.
std::vector< value_type >::const_iterator const_iterator
Data structure for L1 hit.
JBuildL2(const JL2Parameters ¶meters)
Constructor.
Data structure for a composite optical module.
double getDot(const JNeutrinoDirection &first, const JNeutrinoDirection &second)
Dot product.
double ctMin
minimal cosine space angle between PMT axes
void operator()(const JSuperFrame2D< JHit > &inputL0, const std::vector< JHit > &inputL2, JOutput_t out) const
Build hits from calibrated data.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Basic data structure for R2 hit.
Basic data structure for time and time over threshold information of hit.
int numberOfHits
minimal number of hits
void operator()(const JSuperFrame2D< JHit > &inputL0, JOutput_t out) const
Build hits from calibrated data.
Basic data structure for L0 hit.
void operator()(const JSuperFrame2D< JHit > &inputL0, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JSuperFrame2D< JHit > &inputL0, const std::vector< JHit > &inputL2, JOutput_t out) const
Build hits from calibrated data.
std::vector< JHit_t > bufferL1
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JBuildL2(const JL2Parameters ¶meters)
Constructor.
Basic data structure for L2 hit.
const JPosition3D & getPosition() const
Get position.
std::vector< JHit > bufferL2
JSuperFrame2D< JHit_t > & demultiplex(const JDAQSuperFrame &input, const JModule &module) const
Demultiplex and pre-process DAQ super frame.
Data structure for L2 parameters.
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 JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
Data structure for L0 hit.
alias put_queue eval echo n
std::vector< JHit > bufferL2
double TMaxLocal_ns
maximal time difference [ns]
void fast_forward(argument_type hit) const
Increment the internal iterators until the lower bounds corresponding to the time of the given hit...
const JHitL1 & sort()
Sort L0 hits.
Reduced data structure for L1 hit.
2-dimensional frame with time calibrated data from one optical module.
void operator()(T __begin, T __end, const std::vector< JHit_t > &inputL1, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JSuperFrame2D< JHit_t > &inputL0, JOutput_t out) const
Build hits from calibrated data.
Auxiliary class to extend hit building functionality to all DAQ data types.
bool isL2(const JSuperFrameClone2D< JHit_t > &clone, const JHit_t &hit) const
Test if requirements for given hit are satisfied.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
Data frame of one optical module.
Data structure for a composite optical module.