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()) {
192 if (this->getTimeDifference(hit,*(i->get())) <=
TMaxLocal_ns) {
200 if (this->getTimeDifference(hit,*(
j->get())) <=
TMaxLocal_ns) {
202 if (
getDot(i->getDirection(),
j->getDirection()) >=
ctMin) {
259 template<
class JOutput_t>
274 hit.push_back(
JHitL0(i->getPMTIdentifier(),
296 template<
class JOutput_t>
301 static_cast<const JBuildL2<JHit>&
>(*this)(inputL0, std::back_inserter(bufferL2));
303 (*this)(inputL0, bufferL2, out);
317 template<
class JOutput_t>
322 if (!input.
empty()) {
326 (*this)(bufferL0, out);
372 template<
class JOutput_t>
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>
422 static_cast<const JBuildL2<JHit>&
>(*this)(inputL0, std::back_inserter(bufferL2));
424 (*this)(inputL0, bufferL2, out);
438 template<
class JOutput_t>
443 if (!input.
empty()) {
447 (*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.
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 optical module.