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 |
◆ getPMTSimulator()
const JPMTSimulator& JDETECTOR::JDetectorSimulator::getPMTSimulator |
( |
| ) |
const |
|
inline |
◆ getCLBSimulator()
const JCLBSimulator& JDETECTOR::JDetectorSimulator::getCLBSimulator |
( |
| ) |
const |
|
inline |
◆ 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.
Exception for accessing an invalid pointer.
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.