1 #ifndef __JTRIGGER__JBUILDL2__ 
    2 #define __JTRIGGER__JBUILDL2__ 
   29 namespace JPP { 
using namespace JTRIGGER; }
 
   46   template<
class JElement_t>
 
   95     template<
template<
class, 
class> 
class JContainer_t, 
class JAllocator_t, 
class JOutput_t>
 
   97                     const JContainer_t <JElement_t, JAllocator_t>& input,
 
  102       for (
typename JContainer_t<JElement_t, JAllocator_t>::const_iterator __p = input.begin(); __p != input.end(); ++__p) {
 
  104         clone.fast_forward(*__p);
 
  124     template<
class JOutput_t>
 
  132       build(input, back_inserter(buffer));
 
  134       (*this)(input, buffer, out);
 
  148     template<
class JOutput_t>
 
  153       if (!input.
empty()) {
 
  166     bool isL2(
const JElement_t& hit)
 const 
  170         if (this->getTimeDifference(hit,*(i->get())) <= 
TMaxLocal_ns) {
 
  176             if (this->getTimeDifference(hit,*(j->get())) <= 
TMaxLocal_ns) {
 
  226              const double Tmax_ns,
 
  227              const double ctMin) :
 
  254     template<
class JElement_t, 
template<
class, 
class> 
class JContainer_t, 
class JAllocator_t, 
class JOutput_t>
 
  256                     const JContainer_t <JElement_t, JAllocator_t>& input,
 
  266       build(super_frame, input, back_inserter(buffer));
 
  268       JSuperFrameClone2D_t 
clone(super_frame);
 
  274         for (
typename JSuperFrameClone2D_t::const_iterator i = clone.begin(); i != clone.end(); ++i) {
 
  276           for (
typename JSuperFrameClone2D_t::value_type::const_iterator __q = i->fast_forward(*__p); JSuperFrameClone2D_t::getTimeDifference(*__p,*__q) <= 
TMaxLocal_ns; ++__q) {
 
  278             hit.push_back(
JHitL0(i->getPMTIdentifier(),
 
  280                                  JSuperFrameClone2D_t::getJHit(*__q)));
 
  300     template<
class JElement_t, 
class JOutput_t>
 
  308       build(input, back_inserter(buffer));
 
  310       (*this)(input, buffer, out);
 
  324     template<
class JOutput_t>
 
  329       if (!input.
empty()) {
 
  365              const double Tmax_ns,
 
  366              const double ctMin) :
 
  393     template<
class JElement_t, 
template<
class, 
class> 
class JContainer_t, 
class JAllocator_t, 
class JOutput_t>
 
  395                     const JContainer_t <JElement_t, JAllocator_t>& input,
 
  403       build(super_frame, input, back_inserter(buffer));
 
  419               hit.set(i->getJHit());
 
  421               hit.add(i->getJHit());
 
  441     template<
class JElement_t, 
class JOutput_t>
 
  449       build(input, back_inserter(buffer));
 
  451       (*this)(input, buffer, out);
 
  465     template<
class JOutput_t>
 
  470       if (!input.
empty()) {
 
int getModuleID() const 
Get module identifier. 
 
std::vector< value_type >::const_iterator const_iterator
 
JBuildL2(const int numberOfHits, const double Tmax_ns, const double ctMin)
Constructor. 
 
Data structure for L1 hit. 
 
Data structure for a composite optical module. 
 
static JSuperFrame2D< JElement_t > demultiplex
Demultiplexer. 
 
void operator()(const JSuperFrame2D< JElement_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
JBuildL2(const JL2Parameters ¶meters)
Constructor. 
 
double ctMin
minimal cosine space angle between PMT axes 
 
void operator()(const JSuperFrame2D< JElement_t > &super_frame, const JContainer_t< JElement_t, JAllocator_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
void operator()(const JSuperFrame2D< JElement_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
Basic data structure for R2 hit. 
 
void operator()(const JSuperFrame2D< JElement_t > &super_frame, const JContainer_t< JElement_t, JAllocator_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
int numberOfHits
minimal number of hits 
 
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const 
Build hits from DAQ data. 
 
Basic data structure for L0 hit. 
 
Basic data structure for time and time over threshold information of hit. 
 
JBuildL2(const int numberOfHits, const double Tmax_ns, const double ctMin)
Constructor. 
 
void operator()(const JSuperFrame2D< JElement_t > &super_frame, const JContainer_t< JElement_t, JAllocator_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
JBuildL2(const JL2Parameters ¶meters)
Constructor. 
 
Basic data structure for L2 hit. 
 
double getDot(const JFirst_t &first, const JSecond_t &second)
Get dot product of objects. 
 
const JPosition3D & getPosition() const 
Get position. 
 
JSuperFrameClone2D< JElement_t > clone
 
Data structure for L2 parameters. 
 
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const 
Build hits from DAQ data. 
 
JBuildL2(const int numberOfHits, const double Tmax_ns, const double ctMin)
Constructor. 
 
JBuildL2(const JL2Parameters ¶meters)
Constructor. 
 
void operator()(const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const 
Build hits from DAQ data. 
 
bool isL2(const JElement_t &hit) const 
Test if requirements for given hit are satisfied. 
 
Data structure for L0 hit. 
 
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()(const JSuperFrame2D< JElement_t > &input, JOutput_t out) const 
Build hits from calibrated data. 
 
Auxiliary class to extend hit building functionality to all DAQ data types. 
 
Data frame of one optical module. 
 
Data structure for a composite optical module.