Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
JTRIGGER::JBuildL0< JHitL0 > Class Template Reference

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

#include <JBuildL0.hh>

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

Public Types

typedef JHitL0 value_type
 

Public Member Functions

 JBuildL0 ()
 Default constructor. More...
 
template<class JElement_t , class JOutput_t >
void operator() (const JSuperFrame2D< JElement_t > &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, 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...
 

Detailed Description

template<>
class JTRIGGER::JBuildL0< JHitL0 >

Template specialisation of L0 builder for JHitL0 data type.

Definition at line 102 of file JBuildL0.hh.

Member Typedef Documentation

Definition at line 109 of file JBuildL0.hh.

Constructor & Destructor Documentation

Default constructor.

Definition at line 115 of file JBuildL0.hh.

116  {}

Member Function Documentation

template<class JElement_t , class JOutput_t >
void JTRIGGER::JBuildL0< JHitL0 >::operator() ( const JSuperFrame2D< JElement_t > &  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 128 of file JBuildL0.hh.

129  {
130  for (typename JSuperFrame2D<JElement_t>::const_iterator frame = input.begin(); frame != input.end(); ++frame) {
131 
132  const JDAQPMTIdentifier& id = frame->getPMTIdentifier();
133  const JGEOMETRY3D::JAxis3D& axis = frame->getAxis();
134 
135  int n = frame->size() - 1; // remove end marker
136 
137  for (typename JSuperFrame2D<JElement_t>::value_type::const_iterator i = frame->begin(); n != 0; ++i, --n) {
138  *out = JHitL0(id, axis, JHitToolkit<JElement_t>::getJHit(*i));
139  ++out;
140  }
141  }
142  }
Axis object.
Definition: JAxis3D.hh:37
std::vector< frame_type >::const_iterator const_iterator
Data structure for L0 hit.
Definition: JHitL0.hh:27
const JAxis3D & getAxis() const
Get axis.
Definition: JAxis3D.hh:108
2-dimensional frame with time calibrated data from one optical module.
Template definition of hit toolkit.
Definition: JHitToolkit.hh:60
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 156 of file JBuildL0.hh.

159  {
160  if (!input.empty()) {
161  (*this)(JSuperFrame2D<JHit>::demultiplex(input, module), out);
162  }
163  }
static JSuperFrame2D< JElement_t > demultiplex
Demultiplexer.
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  }
void JTRIGGER::JBuildHelper< JBuildL0< JHitL0 > >::operator() ( const JDAQEvent event,
const JModuleRouter router,
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  }
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
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  }
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...

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