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. 
 
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [ns]). 
 
#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.