Jpp  debug
the software that should make you happy
Public Types | Public Member Functions | Public Attributes | List of all members
JTRIGGER::JBuildL0< JHitL0 > Class Reference

Template specialisation of L0 builder for JHitL0 data type. More...

#include <JBuildL0.hh>

Inheritance diagram for JTRIGGER::JBuildL0< JHitL0 >:
JTRIGGER::JBuildHelper< JBuildL0< JHitL0 > > JTRIGGER::JBuild< JHit >

Public Types

typedef JHitL0 value_type
 
typedef JMatch< value_typematch_type
 
typedef JDAQHitSelector selector_type
 

Public Member Functions

 JBuildL0 ()
 Default constructor. More...
 
template<class JOutput_t >
void operator() (const JSuperFrame2D< JHit > &input, JOutput_t out) const
 Build hits from calibrated data. More...
 
template<class JOutput_t >
void operator() (const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const
 Build hits from uncalibrated DAQ data. More...
 
void operator() (const JDAQTimeslice &timeslice, const JModuleRouter &router, JOutput_t out) const
 Build hits from uncalibrated DAQ data. More...
 
void operator() (const JDAQEvent &event, const JModuleRouter &router, const bool snapshot, JOutput_t out) const
 Build hits from uncalibrated DAQ data. More...
 
void operator() (const JDAQEvent &event, const JModuleRouter &router, JOutput_t out) const
 Build hits from uncalibrated DAQ data. More...
 
void setPreprocessor (const JPreprocessor::JOption_t option, const match_type &match)
 Set pre-processor of consecutive hits. More...
 
void resetPreprocessor ()
 Reset pre-processor of consecutive hits. More...
 
void setDAQHitSelector (const JDAQHitSelector &selector)
 Set DAQ hit selector. More...
 
void resetDAQHitSelector ()
 Reset DAQ hit selector. More...
 
JSuperFrame2D< JHit > & demultiplex (const JDAQSuperFrame &input, const JModule &module) const
 Demultiplex and pre-process DAQ super frame. More...
 

Public Attributes

JPreprocessor::JOption_t option
 pre-processor option More...
 
JLANG::JSharedPointer< match_typematch
 pre-processor match criterion More...
 
JLANG::JSharedPointer< selector_typeselector
 DAQ hit selector. More...
 

Detailed Description

Template specialisation of L0 builder for JHitL0 data type.

Definition at line 102 of file JBuildL0.hh.

Member Typedef Documentation

◆ value_type

Definition at line 110 of file JBuildL0.hh.

◆ match_type

Definition at line 39 of file JBuild.hh.

◆ selector_type

Definition at line 40 of file JBuild.hh.

Constructor & Destructor Documentation

◆ JBuildL0()

Default constructor.

Definition at line 116 of file JBuildL0.hh.

117  {}

Member Function Documentation

◆ operator()() [1/5]

template<class JOutput_t >
void JTRIGGER::JBuildL0< JHitL0 >::operator() ( const JSuperFrame2D< JHit > &  input,
JOutput_t  out 
) const
inline

Build hits from calibrated data.

Note that the output data are not time sorted.

Parameters
inputinput L0 data
outoutput L0 data

Definition at line 129 of file JBuildL0.hh.

130  {
131  using namespace JPP;
132 
133  for (typename JSuperFrame2D<JHit>::const_iterator frame = input.begin(); frame != input.end(); ++frame) {
134 
135  const JDAQPMTIdentifier& id = frame->getPMTIdentifier();
136  const JAxis3D& axis = frame->getAxis();
137 
138  int n = frame->size();
139 
140  for (typename JSuperFrame2D<JHit>::value_type::const_iterator i = frame->begin(); n != 0; ++i, --n) {
141  *out = JHitL0(id, axis, *i);
142  ++out;
143  }
144  }
145  }
Axis object.
Definition: JAxis3D.hh:41
const JAxis3D & getAxis() const
Get axis.
Definition: JAxis3D.hh:98
container_type::const_iterator const_iterator
Definition: JFrame.hh:46
Data structure for L0 hit.
Definition: JHitL0.hh:31
std::vector< value_type >::const_iterator const_iterator
const JDAQPMTIdentifier & getPMTIdentifier() const
Get PMT identifier.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
const int n
Definition: JPolint.hh:786

◆ operator()() [2/5]

template<class JOutput_t >
void JTRIGGER::JBuildL0< JHitL0 >::operator() ( const JDAQSuperFrame input,
const JModule module,
JOutput_t  out 
) const
inline

Build hits from uncalibrated DAQ data.

The time calibration is applied. Note that the output data are not time sorted.

Parameters
inputDAQ super frame
modulemodule
outoutput L0 data

Definition at line 159 of file JBuildL0.hh.

162  {
163  if (!input.empty()) {
164  (*this)(this->demultiplex(input, module), out);
165  }
166  }
bool empty() const
Definition: JDAQFrame.hh:181
JSuperFrame2D< JHit > & demultiplex(const JDAQSuperFrame &input, const JModule &module) const
Demultiplex and pre-process DAQ super frame.
Definition: JBuild.hh:103

◆ operator()() [3/5]

void JTRIGGER::JBuildHelper< JBuildL0< JHitL0 > >::operator() ( const JDAQTimeslice timeslice,
const JModuleRouter router,
JOutput_t  out 
) const
inlineinherited

Build hits from uncalibrated DAQ data.

The time calibration is applied. Note that the output data are not time sorted.

Parameters
timesliceDAQ time slice
routermodule router
outoutput data

Definition at line 57 of file JBuildHelper.hh.

60  {
61  for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
62  if (router.hasModule(i->getModuleID())) {
63  static_cast<const JBuild_t&>(*this)(*i, router.getModule(i->getModuleID()), out);
64  }
65  }
66  }
const JModule & getModule(const JObjectID &id) const
Get module parameters.
bool hasModule(const JObjectID &id) const
Has module.

◆ operator()() [4/5]

void JTRIGGER::JBuildHelper< JBuildL0< JHitL0 > >::operator() ( const JDAQEvent event,
const JModuleRouter router,
const bool  snapshot,
JOutput_t  out 
) const
inlineinherited

Build hits from uncalibrated DAQ data.

The time calibration is applied. Note that the output data are not time sorted.

Parameters
eventDAQ event
routermodule router
snapshotuse shapshot hits (else use triggered hits)
outoutput data

Definition at line 81 of file JBuildHelper.hh.

85  {
86  static_cast<const JBuild_t&>(*this)(JDAQTimeslice(event, snapshot), router, out);
87  }

◆ operator()() [5/5]

void JTRIGGER::JBuildHelper< JBuildL0< JHitL0 > >::operator() ( const JDAQEvent event,
const JModuleRouter router,
JOutput_t  out 
) const
inlineinherited

Build hits from uncalibrated DAQ data.

The snapshot data of the DAQ event are used. The time calibration is applied. Note that the output data are not time sorted.

Parameters
eventDAQ event
routermodule router
outoutput data

Definition at line 102 of file JBuildHelper.hh.

105  {
106  static_cast<const JBuild_t&>(*this)(JDAQTimeslice(event, true), router, out);
107  }

◆ setPreprocessor()

void JTRIGGER::JBuild< JHit >::setPreprocessor ( const JPreprocessor::JOption_t  option,
const match_type match 
)
inlineinherited

Set pre-processor of consecutive hits.

Parameters
optionoption
matchmatch criterion

Definition at line 59 of file JBuild.hh.

60  {
61  this->option = option;
62  this->match.reset(match.clone());
63  }
virtual void reset() override
Reset pointer.
JPreprocessor::JOption_t option
pre-processor option
Definition: JBuild.hh:115
JLANG::JSharedPointer< match_type > match
pre-processor match criterion
Definition: JBuild.hh:116

◆ resetPreprocessor()

void JTRIGGER::JBuild< JHit >::resetPreprocessor ( )
inlineinherited

Reset pre-processor of consecutive hits.

Definition at line 69 of file JBuild.hh.

70  {
71  this->option = JPreprocessor::none_t;
72  this->match.reset();
73  }

◆ setDAQHitSelector()

void JTRIGGER::JBuild< JHit >::setDAQHitSelector ( const JDAQHitSelector selector)
inlineinherited

Set DAQ hit selector.

Parameters
selectorDAQ hit selector

Definition at line 81 of file JBuild.hh.

82  {
83  this->selector.reset(selector.clone());
84  }
JLANG::JSharedPointer< selector_type > selector
DAQ hit selector.
Definition: JBuild.hh:117

◆ resetDAQHitSelector()

void JTRIGGER::JBuild< JHit >::resetDAQHitSelector ( )
inlineinherited

Reset DAQ hit selector.

Definition at line 90 of file JBuild.hh.

91  {
92  this->selector.reset(new JDAQHitDefaultSelector());
93  }
Default class to select DAQ hits.

◆ demultiplex()

JSuperFrame2D<JHit >& JTRIGGER::JBuild< JHit >::demultiplex ( const JDAQSuperFrame input,
const JModule module 
) const
inlineinherited

Demultiplex and pre-process DAQ super frame.

Parameters
inputDAQ super frame
modulemodule data
Returns
2D super frame

Definition at line 103 of file JBuild.hh.

105  {
107 
108  if (match.is_valid()) {
109  buffer.preprocess(option, *match);
110  }
111 
112  return buffer;
113  }
bool is_valid() const
Check validity of pointer.
2-dimensional frame with time calibrated data from one optical module.
void preprocess(JPreprocessor::JOption_t option, const match_type &match)
Pre-process data.

Member Data Documentation

◆ option

pre-processor option

Definition at line 115 of file JBuild.hh.

◆ match

pre-processor match criterion

Definition at line 116 of file JBuild.hh.

◆ selector

DAQ hit selector.

Definition at line 117 of file JBuild.hh.


The documentation for this class was generated from the following file: