1#ifndef __JTRIGGER__JSUPERFRAME2D__
2#define __JTRIGGER__JSUPERFRAME2D__
42 template<
class JElement_t,
class JAllocator_t = std::allocator<JElement_t> >
45 public std::vector< JFrame<JElement_t, JAllocator_t> >
79 using KM3NETDAQ::NUMBER_OF_PMTS;
86 this->resize(NUMBER_OF_PMTS);
100 int n = input.
size();
105 (*this)[i->getPMT()].push_back(*i);
112 (*this)[i->getPMT()].push_back(*i);
126 (*this)[i].putEndMarker();
140 for (
iterator i = this->begin(); i != this->end(); ++i) {
141 i->applyHighRateVeto(rate_Hz);
157 for (
iterator i = this->begin(); i != this->end(); ++i) {
163 for (
iterator i = this->begin(); i != this->end(); ++i) {
169 for (
iterator i = this->begin(); i != this->end(); ++i) {
190 template<
class JElement_t,
class JAllocator_t>
KM3NeT DAQ constants, bit handling, etc.
Data structure for optical module.
Auxiliaries for pre-processing of hits.
const JCalibration & getCalibration() const
Get calibration.
void setCalibration(const JCalibration &cal)
Set calibration.
Data structure for a composite optical module.
const JPMT & getPMT(const int index) const
Get PMT.
void setAxis(const JAxis3D &axis)
Set axis.
const JAxis3D & getAxis() const
Get axis.
void setPosition(const JVector3D &pos)
Set position.
const JPosition3D & getPosition() const
Get position.
Data frame for calibrated hits of one PMT.
Function object interface for hit matching.
2-dimensional frame with time calibrated data from one optical module.
JMatch< JElement_t > match_type
static JSuperFrame2D< JElement_t, JAllocator_t > demultiplex
Demultiplexer.
std::vector< value_type >::iterator iterator
JSuperFrame2D()
Default constructor.
std::vector< value_type >::const_iterator const_iterator
std::vector< value_type >::reverse_iterator reverse_iterator
void preprocess(JPreprocessor::JOption_t option, const match_type &match)
Pre-process data.
JFrame< JElement_t, JAllocator_t > value_type
JSuperFrame2D & operator()(const JDAQSuperFrame &input, const JModule &module, const JDAQHitSelector &selector=JDAQHitDefaultSelector())
Process DAQ super frame.
void applyHighRateVeto(const double rate_Hz)
Apply high-rate veto.
std::vector< value_type >::const_reverse_iterator const_reverse_iterator
const JDAQChronometer & getDAQChronometer() const
Get DAQ chronometer.
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
const_iterator begin() const
int getModuleID() const
Get module identifier.
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
void setModuleIdentifier(const JDAQModuleIdentifier &module)
Set Module identifier.
void setPMTIdentifier(const JDAQPMTIdentifier &pmt)
Set PMT identifier.
Data frame of one optical module.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
bool getPMTStatus(const JStatus &status)
Test status of PMT.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
static const int PMT_DISABLE
KM3NeT Data Definitions v3.6.0 https://git.km3net.de/common/km3net-dataformat.
bool has(const int bit) const
Test PMT status.
Default class to select DAQ hits.
Auxiliary class to select DAQ hits.
JOption_t
Preprocessing options.
@ filter_t
filter consecutive hits according match criterion
@ remove_t
remove consecutive hits according match criterion
@ join_t
join consecutive hits according match criterion