1 #ifndef __JTRIGGER__JBUILDL1__
2 #define __JTRIGGER__JBUILDL1__
27 namespace JPP {
using namespace JTRIGGER; }
84 template<
class JHit_t>
116 template<
class JOutput_t>
119 (*this)(input.begin(), input.end(), out);
132 template<
class JOutput_t>
149 template<
class JOutput_t>
152 int n = input.size() - 1;
156 if (this->getTimeDifference(*p,*q) <=
TMax_ns) {
162 for (++q, --n; this->getTimeDifference(*p,*q) <=
TMax_ns; ++q, --
n) {}
181 template<
class JOutput_t>
186 if (!input.
empty()) {
226 template<
class JOutput_t>
233 static_cast<const JBuildL1<JHit>&
>(*this)(input, std::back_inserter(buffer));
237 JHitL1 hit(input.getModuleID());
243 hit.push_back(
JHitL0(i->getPMTIdentifier(),
265 template<
class JOutput_t>
270 if (!input.
empty()) {
313 template<
class JOutput_t>
320 static_cast<const JBuildL1<JHit>&
>(*this)(input, std::back_inserter(buffer));
324 JHitR1 hit(input.getModuleID(),
325 input.getPosition());
331 if (i->getTimeDifference(*p) <=
TMax_ns) {
334 hit.set(i->getJHit());
336 hit.add(i->getJHit());
339 if (i->getT() < hit.getT()) {
340 hit.setPosition(i->getPosition());
360 template<
class JOutput_t>
365 if (!input.
empty()) {
Auxiliary class to set-up Hit.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from uncalibrated DAQ data.
Data structure for all trigger parameters.
JFrame< JElement_t, JAllocator_t >::const_iterator const_iterator
std::vector< value_type >::const_iterator const_iterator
Data structure for L1 hit.
Data structure for a composite optical module.
JBuildL1Parameters(const JTriggerParameters ¶meters)
Constructor.
static JSuperFrame1D< JElement_t, JAllocator_t > multiplex
Multiplexer.
Auxiliary base class for hit building.
JBuildL1Parameters(const double Tmax_ns, const bool combine)
Constructor.
void operator()(const JSuperFrame1D< JHit_t > &input, JOutput_t out) const
Build hits from calibrated data.
void operator()(const JSuperFrame2D< JHit > &input, 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
JBuildL1(const JBuildL1Parameters ¶meters)
Constructor.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from DAQ data.
JBuildL1(const JBuildL1Parameters ¶meters)
Constructor.
Basic data structure for time and time over threshold information of hit.
1-dimensional frame with time calibrated data from one optical module.
Basic data structure for L0 hit.
void operator()(const JSuperFrame2D< JHit > &input, JOutput_t out) const
Build hits from calibrated data.
JSuperFrame2D< JHit_t > & demultiplex(const JDAQSuperFrame &input, const JModule &module) const
Demultiplex and pre-process DAQ super frame.
std::vector< JHit > buffer
Data structure for L2 parameters.
Reduced data structure for L1 hit.
JBuildL1Parameters(const JL2Parameters ¶meters)
Constructor.
std::vector< JHit > buffer
Data structure for L0 hit.
alias put_queue eval echo n
Auxiliary data structure for L1 build parameters.
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
Build hits from uncalibrated DAQ data.
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.
std::vector< value_type >::const_iterator const_iterator
Auxiliary class to extend hit building functionality to all DAQ data types.
Data frame of one optical module.
void operator()(const JSuperFrame2D< JHit_t > &input, JOutput_t out) const
Build hits from calibrated data.
void operator()(typename JSuperFrame2D< JHit_t >::const_iterator __begin, typename JSuperFrame2D< JHit_t >::const_iterator __end, JOutput_t out) const
Build hits from set of frames with calibrated data.
Basic data structure for L1 hit.
JBuildL1(const JBuildL1Parameters ¶meters)
Constructor.
Data structure for a composite optical module.