1 #ifndef __JDETECTOR__JDETECTORSIMULATOR__
2 #define __JDETECTOR__JDETECTORSIMULATOR__
235 for (
unsigned int i = 0; i != input.size(); ++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.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const =0
Process data.
Data structure for time calibration.
const JCalibration & getCalibration() const
Get calibration.
virtual void operator()(const JModule &module, JModuleData &input, JDAQSuperFrame &output) const
Process module data in one step.
void reset(JCLBSimulator *clbSimulator)
Reset CLB simulator.
JLANG::JSinglePointer< JK40Simulator > k40Simulator
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const override
Generate hits.
JLANG::JSinglePointer< JCLBSimulator > clbSimulator
JDetectorSimulator(const JDetector &detector)
Constructor.
void reset(JK40Simulator *k40Simulator)
Reset K40 simulator.
bool hasPMTSimulator() const
Check availability of PMT simulator.
void reset(JPMTSimulator *pmtSimulator)
Reset PMT simulator.
JDetectorSimulator & operator=(const JDetectorSimulator &)
Make assignment operator inaccesible.
JDetectorSimulator(const JDetectorSimulator &)
Make copy constructor inaccesible.
JLANG::JSinglePointer< JPMTSimulator > pmtSimulator
bool hasK40Simulator() const
Check availability of K40 simulator.
bool hasCLBSimulator() const
Check availability of CLB simulator.
const JCLBSimulator & getCLBSimulator() const
Get CLB simulator.
const JPMTSimulator & getPMTSimulator() const
Get PMT simulator.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const override
Process data.
virtual void processHits(const JPMTIdentifier &ID, const JCalibration &calibration, const JStatus &status, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const override
Process hits.
const JK40Simulator & getK40Simulator() const
Get K40 simulator.
Interface for simulation of K40 background.
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const =0
Generate hits.
Data structure for PMT data corresponding to a detector module.
Data structure for a composite optical module.
const JPMT & getPMT(const int index) const
Get PMT.
Template data structure for PMT I/O.
Router for direct addressing of PMT data in detector data structure.
Interface for PMT simulation.
virtual void processHits(const JPMTIdentifier &id, const JCalibration &calibration, const JStatus &status, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const =0
Process hits.
Data structure for PMT geometry, calibration and status.
Auxiliary class for object identification.
int getID() const
Get identifier.
Exception for accessing an invalid pointer.
The template JSinglePointer class can be used to hold a pointer to an object.
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.
int getStatus() const
Get status.