1 #ifndef __JDAQSUMMARYFRAME__
2 #define __JDAQSUMMARYFRAME__
26 class JDAQSummaryFrame;
76 return getValue(numberOfHits * 1.0e9 / frameTime_ns);
91 return std::numeric_limits<JRate_t>::max();
124 else if (value == std::numeric_limits<JRate_t>::max())
140 return (
int) std::numeric_limits<JRate_t>::max() + 1;
150 static const double*
getData(
const double factor = 1.0)
159 buffer.push_back(
get_rate(i - 0.5) * factor);
164 return buffer.data();
193 void setValue(
const int numberOfHits,
const double frameTime_ns)
366 int n = input.
size();
369 ++counter[i->getPMT()];
382 int n = input.
size();
385 if (i->getT() > limit[i->getPMT()]) {
386 limit[i->getPMT()] = i->getT();
393 data[i].
setValue((
double) counter[i] * 1.0e9 / (
double) limit[i]);
438 double getRate(
const int tdc,
const double factor = 1.0)
const
451 double getWeight(
const int tdc,
const double factor = 1.0)
const
463 void setRate(
const int tdc,
const double rate_Hz)
496 out << static_cast<const JDAQModuleIdentifier&>(summary);
497 out << static_cast<const JDAQFrameStatus&> (summary);
544 if (first[i] != second[i]) {
568 return !(first == second);
static double get_rate(const double value)
Get count rate.
bool operator==(const JDAQChronometer &first, const JDAQChronometer &second)
Equal operator for DAQ chronometers.
JDAQSummaryFrame()
Default constructor.
JDAQRate & mul(const double factor)
Scale rate.
Interface for binary output.
JDAQSummaryFrame(const JDAQModuleIdentifier &id)
Constructor.
int getModuleID() const
Get module identifier.
friend JReader & operator>>(JReader &in, JDAQSummaryFrame &summary)
Read DAQ summary frame from input.
double getRate(const int tdc, const double factor=1.0) const
Get count rate.
JDAQRate data[NUMBER_OF_PMTS]
static JRate_t getValue(const double rate_Hz)
Get value.
static const JDAQFrameStatus & getInstance()
Get reference to unique instance of this class object.
const JDAQRate & operator[](const int tdc) const
Get DAQ rate of given PMT.
JDAQRate & operator[](const int tdc)
Get DAQ rate of given PMT.
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
static int sizeOf()
Get size of object.
static int getN()
Get number of bins.
static int ROOT_IO_VERSION
Streamer version of JDAQSummaryslice as obtained from ROOT file.
virtual int write(const char *buffer, const int length)=0
Write byte array.
unsigned int JTDC_t
leading edge [ns]
JDAQSummaryFrame(const JDAQSuperFrame &input)
Constructor.
static double getRate(const JRate_t value)
Get count rate.
void setValue(const double rate_Hz)
Set value.
JDAQRate & div(const double factor)
Scale rate.
static double getWeight(const JRate_t value)
Get weight.
static const double * getData(const double factor=1.0)
Get abscissa values.
ClassDefNV(JDAQSummaryFrame, 2)
const_iterator begin() const
JRate_t getValue() const
Get value.
double getFrameTime()
Get frame time duration.
Data storage class for rate measurements of all PMTs in one module.
double getWeight() const
Get weight.
Interface for binary input.
double getRate() const
Get count rate.
static int sizeOf()
Get size of object.
static double getMaximalRate()
Get maximal rate (above this, value is set to maximum)
bool testHighRateVeto() const
Test high-rate veto status.
Data storage class for rate measurement of one PMT.
JDAQRate()
Default constructor.
friend JWriter & operator<<(JWriter &out, const JDAQSummaryFrame &summary)
Write DAQ summary frame to output.
static int sizeOf()
Get size of object.
void setValue(const int numberOfHits, const double frameTime_ns)
Set value.
static JRate_t getValue(const int numberOfHits, const double frameTime_ns)
Get value.
static const double getFactor()
Get conversion factor.
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
void setRate(const int tdc, const double rate_Hz)
Set count rate.
JDAQRate::JRate_t JRate_t
KM3NeT DAQ constants, bit handling, etc.
bool operator!=(const JDAQChronometer &first, const JDAQChronometer &second)
Not-equal operator for DAQ chronometers.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
const JDAQFrameStatus & getDAQFrameStatus() const
Get DAQ frame status.
Data frame of one optical module.
double getWeight(const int tdc, const double factor=1.0) const
Get weight.
bool testFIFOStatus() const
Test FIFO status.