1#ifndef __JDETECTOR__JDETECTORSIMULATOR__
2#define __JDETECTOR__JDETECTORSIMULATOR__
236 for (
unsigned int i = 0; i != input.size(); ++i) {
240 const JPMT& pmt =
module.getPMT(i);
Data structure for detector geometry and calibration.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Direct access to PMT in detector data structure.
Interface for CLB simulation.
Data structure for time calibration.
const JCalibration & getCalibration() const
Get calibration.
std::unique_ptr< JPMTSimulator > pmtSimulator
const JCLBSimulator & getCLBSimulator() const
Get CLB simulator.
virtual void operator()(const JModule &module, JModuleData &input, JDAQSuperFrame &output) const
Process module data in one step.
void reset(JCLBSimulator *clbSimulator)
Reset CLB simulator.
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const override
Generate hits.
JDetectorSimulator(const JDetector &detector)
Constructor.
JDetectorSimulator & operator=(const JDetectorSimulator &)
Make assignment operator inaccesible.
void reset(JK40Simulator *k40Simulator)
Reset K40 simulator.
const JK40Simulator & getK40Simulator() const
Get K40 simulator.
bool hasPMTSimulator() const
Check availability of PMT simulator.
const JPMTSimulator & getPMTSimulator() const
Get PMT simulator.
void reset(JPMTSimulator *pmtSimulator)
Reset PMT simulator.
JDetectorSimulator(const JDetectorSimulator &)
Make copy constructor inaccesible.
bool hasK40Simulator() const
Check availability of K40 simulator.
bool hasCLBSimulator() const
Check availability of CLB simulator.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const override
Process data.
std::unique_ptr< JCLBSimulator > clbSimulator
std::unique_ptr< JK40Simulator > k40Simulator
virtual void processHits(const JPMTIdentifier &ID, const JCalibration &calibration, const JStatus &status, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const override
Process hits.
Interface for simulation of K40 background.
Data structure for PMT data corresponding to a detector module.
Data structure for a composite optical module.
Router for direct addressing of PMT data in detector data structure.
Interface for PMT simulation.
Data structure for PMT geometry, calibration and status.
Auxiliary class for object identification.
Exception for accessing an invalid pointer.
Template definition of a multi-dimensional oscillation probability interpolation table.
Data frame of one optical module.
file Auxiliary data structures and methods for detector calibration.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for handling status.
status_type getStatus(const JType< status_type > &type) const
Get status.