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