Detector simulation.  
 More...
#include <JDetectorSimulator.hh>
Detector simulation. 
This class implements the JK40Simulator, JPMTSimulator and JCLBSimulator interfaces. The implementations of these interfaces should be provided via pointers to corresponding objects.
N.B: This class owns the objects pointed to using class JLANG::JSinglePointer. 
Definition at line 33 of file JDetectorSimulator.hh.
 
◆ JReference_t
◆ const_iterator
◆ JDetectorSimulator() [1/2]
Make copy constructor inaccesible. 
 
 
◆ JDetectorSimulator() [2/2]
  
  
      
        
          | JDETECTOR::JDetectorSimulator::JDetectorSimulator  | 
          ( | 
          const JDetector &  | 
          detector | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ operator=()
Make assignment operator inaccesible. 
 
 
◆ hasK40Simulator()
  
  
      
        
          | bool JDETECTOR::JDetectorSimulator::hasK40Simulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Check availability of K40 simulator. 
- Returns
 - true if simulator available; else false 
 
Definition at line 68 of file JDetectorSimulator.hh.
 
 
◆ hasPMTSimulator()
  
  
      
        
          | bool JDETECTOR::JDetectorSimulator::hasPMTSimulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Check availability of PMT simulator. 
- Returns
 - true if simulator available; else false 
 
Definition at line 80 of file JDetectorSimulator.hh.
 
 
◆ hasCLBSimulator()
  
  
      
        
          | bool JDETECTOR::JDetectorSimulator::hasCLBSimulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Check availability of CLB simulator. 
- Returns
 - true if simulator available; else false 
 
Definition at line 91 of file JDetectorSimulator.hh.
 
 
◆ getK40Simulator()
  
  
      
        
          | const JK40Simulator& JDETECTOR::JDetectorSimulator::getK40Simulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get K40 simulator. 
- Returns
 - K40 simulator 
 
Definition at line 102 of file JDetectorSimulator.hh.
  107         THROW(JPointerException, 
"JDetectorSimulator: K40 simulator not avaliable.");   
 
 
 
 
◆ getPMTSimulator()
  
  
      
        
          | const JPMTSimulator& JDETECTOR::JDetectorSimulator::getPMTSimulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get PMT simulator. 
- Returns
 - PMT simulator 
 
Definition at line 116 of file JDetectorSimulator.hh.
  121         THROW(JPointerException, 
"JDetectorSimulator: PMT simulator not avaliable.");   
 
 
 
 
◆ getCLBSimulator()
  
  
      
        
          | const JCLBSimulator& JDETECTOR::JDetectorSimulator::getCLBSimulator  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get CLB simulator. 
- Returns
 - CLB simulator 
 
Definition at line 130 of file JDetectorSimulator.hh.
  135         THROW(JPointerException, 
"JDetectorSimulator: CLB simulator not avaliable.");   
 
 
 
 
◆ reset() [1/3]
  
  
      
        
          | void JDETECTOR::JDetectorSimulator::reset  | 
          ( | 
          JK40Simulator *  | 
          k40Simulator | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ reset() [2/3]
  
  
      
        
          | void JDETECTOR::JDetectorSimulator::reset  | 
          ( | 
          JPMTSimulator *  | 
          pmtSimulator | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ reset() [3/3]
  
  
      
        
          | void JDETECTOR::JDetectorSimulator::reset  | 
          ( | 
          JCLBSimulator *  | 
          clbSimulator | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ generateHits()
  
  
      
        
          | virtual void JDETECTOR::JDetectorSimulator::generateHits  | 
          ( | 
          const JModule &  | 
          module,  | 
         
        
           | 
           | 
          const JTimeRange &  | 
          period,  | 
         
        
           | 
           | 
          JModuleData &  | 
          output  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlinevirtual   | 
  
 
 
◆ processHits()
◆ processData()
  
  
      
        
          | virtual void JDETECTOR::JDetectorSimulator::processData  | 
          ( | 
          const JCLBInput &  | 
          input,  | 
         
        
           | 
           | 
          JDAQFrame &  | 
          output  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlinevirtual   | 
  
 
 
◆ operator()()
Process module data in one step. 
- Parameters
 - 
  
    | module | module  | 
    | input | PMT signals  | 
    | output | CLB data  | 
  
   
Definition at line 225 of file JDetectorSimulator.hh.
  233       for (
unsigned int pmt = 0; pmt != input.size(); ++pmt) {
 
 
 
 
◆ getPMTRouter()
  
  
      
        
          | const JPMTRouter& JDETECTOR::JPMTRouter::getPMTRouter  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Get PMT router. 
- Returns
 - PMT router 
 
Definition at line 66 of file JPMTRouter.hh.
   68       return static_cast<const JPMTRouter&>(*
this);
 
 
 
 
◆ getAddress()
Get address of PMT. 
- Parameters
 - 
  
  
 
- Returns
 - address 
 
Definition at line 78 of file JPMTRouter.hh.
   80       return router.get(
id.getID());
 
 
 
 
◆ getPMT() [1/2]
  
  
      
        
          | const JPMT& JDETECTOR::JPMTRouter::getPMT  | 
          ( | 
          const JPMTAddress &  | 
          address | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Get PMT. 
- Parameters
 - 
  
  
 
- Returns
 - PMT 
 
Definition at line 90 of file JPMTRouter.hh.
 
 
◆ getPMT() [2/2]
  
  
      
        
          | const JPMT& JDETECTOR::JPMTRouter::getPMT  | 
          ( | 
          const JObjectID &  | 
          id | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
 
◆ hasPMT()
  
  
      
        
          | bool JDETECTOR::JPMTRouter::hasPMT  | 
          ( | 
          const JObjectID &  | 
          id | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Has PMT. 
- Parameters
 - 
  
  
 
- Returns
 - true if PMT present; else false 
 
Definition at line 114 of file JPMTRouter.hh.
  116       return router.has(
id.getID());
 
 
 
 
◆ getIdentifier() [1/2]
Get identifier of PMT. 
- Parameters
 - 
  
  
 
- Returns
 - address 
 
Definition at line 126 of file JPMTRouter.hh.
 
 
◆ getIdentifier() [2/2]
Get identifier of PMT. 
- Parameters
 - 
  
  
 
- Returns
 - address 
 
Definition at line 138 of file JPMTRouter.hh.
 
 
◆ getModule()
Get module. 
- Parameters
 - 
  
  
 
- Returns
 - module 
 
Definition at line 150 of file JPMTRouter.hh.
 
 
◆ getParentModule()
  
  
      
        
          | const JModule& JDETECTOR::JPMTRouter::getParentModule  | 
          ( | 
          const JObjectID &  | 
          id | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Get parent module. 
- Parameters
 - 
  
  
 
- Returns
 - module 
 
Definition at line 162 of file JPMTRouter.hh.
 
 
◆ getParentModuleID()
  
  
      
        
          | int JDETECTOR::JPMTRouter::getParentModuleID  | 
          ( | 
          const JObjectID &  | 
          id | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Get parent module identifier. 
- Parameters
 - 
  
  
 
- Returns
 - module identifier 
 
Definition at line 174 of file JPMTRouter.hh.
 
 
◆ getPMTChannel() [1/2]
Get PMT channel. 
- Parameters
 - 
  
  
 
- Returns
 - PMT channel 
 
Definition at line 186 of file JPMTRouter.hh.
 
 
◆ getPMTChannel() [2/2]
Get PMT channel. 
- Parameters
 - 
  
  
 
- Returns
 - PMT channel 
 
Definition at line 200 of file JPMTRouter.hh.
 
 
◆ getUTMPosition()
Get UTM position of given PMT identifier. 
- Parameters
 - 
  
  
 
- Returns
 - UTM position 
 
Definition at line 212 of file JPMTRouter.hh.
 
 
◆ getReference() [1/2]
Get reference to object. 
- Returns
 - reference to object 
 
Definition at line 38 of file JReference.hh.
 
 
◆ getReference() [2/2]
Get reference to object. 
- Returns
 - reference to object 
 
Definition at line 49 of file JReference.hh.
 
 
◆ is_valid()
Check validity of reference. 
- Returns
 - true 
 
Definition at line 60 of file JReference.hh.
 
 
◆ operator->() [1/2]
Smart pointer. 
- Returns
 - pointer to object 
 
Definition at line 71 of file JReference.hh.
 
 
◆ operator->() [2/2]
Smart pointer. 
- Returns
 - pointer to object 
 
Definition at line 82 of file JReference.hh.
 
 
◆ operator*() [1/2]
Dereference operator. 
- Returns
 - reference to object 
 
Definition at line 93 of file JReference.hh.
 
 
◆ operator*() [2/2]
Dereference operator. 
- Returns
 - reference to object 
 
Definition at line 104 of file JReference.hh.
 
 
◆ k40Simulator
◆ pmtSimulator
◆ clbSimulator
◆ buffer
  
  
      
        
          | JCLBInput JDETECTOR::JDetectorSimulator::buffer | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ router
◆ __object
The documentation for this class was generated from the following file:
 
Auxiliary class to uniquely identify PMT readout channel.
 
JTOOLS::JRouter< JPMTAddress > router
 
const JCLBSimulator & getCLBSimulator() const
Get CLB simulator.
 
virtual void processHits(const JPMTIdentifier &id, const JCalibration &calibration, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const =0
Process hits.
 
virtual void processData(const JCLBInput &input, JDAQFrame &output) const =0
Process data.
 
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const =0
Generate hits.
 
virtual void processHits(const JPMTIdentifier &ID, const JCalibration &calibration, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const
Process hits.
 
Logical location of module.
 
const JPMT & getPMT(const int index) const
Get PMT.
 
bool hasPMTSimulator() const
Check availability of PMT simulator.
 
virtual void processData(const JCLBInput &input, JDAQFrame &output) const
Process data.
 
const JClass_t & getReference() const
Get reference to object.
 
int getID() const
Get identifier.
 
JLANG::JSinglePointer< JCLBSimulator > clbSimulator
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
const JPMTAddress & getAddress(const JObjectID &id) const
Get address of PMT.
 
void reset(JCLBInput &data, size_t size)
Reset CLB buffers.
 
const JK40Simulator & getK40Simulator() const
Get K40 simulator.
 
JPMTIdentifier getIdentifier(const JPMTAddress &address) const
Get identifier of PMT.
 
JPosition3D getPosition(const JModule &first, const JModule &second)
Get position to go from first to second module.
 
JPMTChannel getPMTChannel(const JPMTAddress &address) const
Get PMT channel.
 
bool hasK40Simulator() const
Check availability of K40 simulator.
 
JLANG::JSinglePointer< JPMTSimulator > pmtSimulator
 
const JModule & getParentModule(const JObjectID &id) const
Get parent module.
 
const JPMTSimulator & getPMTSimulator() const
Get PMT simulator.
 
JPMTRouter(const JDetector &detector)
Constructor.
 
bool hasCLBSimulator() const
Check availability of CLB simulator.
 
JLANG::JSinglePointer< JK40Simulator > k40Simulator
 
Data structure for PMT readout address.
 
const JModule & getModule(const JModuleAddress &address) const
Get module.
 
const JPMT & getPMT(const JPMTAddress &address) const
Get PMT.
 
int second
index of PMT in module data structure.