1 #ifndef __JSUMMARYSLICE__JSUMMARYSLICE__
2 #define __JSUMMARYSLICE__JSUMMARYSLICE__
61 for (JDetector::const_iterator module = detector.begin(); module != detector.end() && input.
hasNext(); ) {
65 for (const_iterator
i = summary->begin();
i != summary->end() && module != detector.end(); ++
i, ++module) {
69 rbegin()->setModuleIdentifier(module->getID());
93 using namespace KM3NETDAQ;
103 for (JDetector::const_iterator module = simbad->begin(); module != simbad->end(); ++module) {
105 if (!module->empty()) {
109 this->rbegin()->setDAQFrameStatus(clbSimulator.
getDAQFrameStatus(module->getID()));
120 this->rbegin()->setHighRateVeto(pmt,
true);
129 rate_Hz *= (double) n1 / (
double) (n2 + 1);
132 this->rbegin()->setRate(pmt, rate_Hz);
137 catch(
const std::exception& error) {};
149 using namespace KM3NETDAQ;
151 for (
iterator frame = this->begin(); frame != this->end(); ++frame) {
160 (*frame)[pmt].div(P);
162 (*frame)[pmt].setValue(0.0);
JSummaryslice()
Default constructor.
Default K40 simulator interface.
virtual int getUDPNumberOfReceivedPackets(const JModuleIdentifier &id) const
Get number of received UDP packets.
JSummaryslice(const JDAQChronometer &chronometer, const JDetectorSimulator &simbad)
Constructor.
Interface of object iteration for a single data type.
const JPMTSimulator & getPMTSimulator() const
Get PMT simulator.
Data structure for detector geometry and calibration.
JSummaryslice(const JDAQChronometer &chronometer, JObjectIterator< JDAQSummaryslice > &input, const JDetector &detector)
Constructor.
virtual double getSurvivalProbability(const int NPE) const
Probability that a hit survives the simulation of the PMT.
virtual const pointer_type & next()=0
Get next element.
virtual const JPMTSignalProcessorInterface & getPMTSignalProcessor(const JPMTIdentifier &pmt) const
Get PMT signal processor.
Data storage class for rate measurements of all PMTs in one module.
virtual double getSinglesRate(const JPMTIdentifier &pmt) const =0
Get singles rate as a function of PMT.
static const int NPE
Number of photo-electrons corresponding to singles rate.
Auxiliary class to create summary data.
virtual bool hasNext()=0
Check availability of next element.
const JCLBSimulator & getCLBSimulator() const
Get CLB simulator.
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
virtual int getUDPMaximalSequenceNumber(const JModuleIdentifier &id) const
Get maximal sequence number of UDP packet.
JDAQFrameStatus getDAQFrameStatus(const JModuleIdentifier &id) const
Get DAQ frame status of given module.
static double HIGH_RATE_VETO_HZ
High-rate veto [kHz].
KM3NeT DAQ constants, bit handling, etc.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
void correct(const JPMTDefaultSimulatorInterface &simulator)
Correct measured singles rates for the probability that a hit survives the simulation of the PMT...
Default PMT simulation interface.
const JK40Simulator & getK40Simulator() const
Get K40 simulator.