Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JDETECTOR::JPMTDefaultSimulatorInterface Class Reference

Default PMT simulation interface. More...

#include <JPMTDefaultSimulatorInterface.hh>

Inheritance diagram for JDETECTOR::JPMTDefaultSimulatorInterface:
JDETECTOR::JPMTSimulator JDETECTOR::JPMTDefaultSimulator JTRIGGER::JPMTRunByRunSimulator

Public Member Functions

virtual void processHits (const JPMTIdentifier &id, const JCalibration &calibration, const JStatus &status, const JPMTData< JPMTSignal > &input, JPMTData< JPMTPulse > &output) const override
 Process hits.
 
virtual bool getPMTStatus (const JPMTIdentifier &id, const JTimeRange &window, const JStatus &status) const
 Get PMT status.
 
virtual const bool hasPMTSignalProcessor (const JPMTIdentifier &pmt) const
 Has PMT signal processor.
 
virtual const JPMTSignalProcessorInterfacegetPMTSignalProcessor (const JPMTIdentifier &pmt) const
 Get PMT signal processor.
 

Detailed Description

Default PMT simulation interface.

This class implements the JPMTSimulator interface by transferring the PMT simulation to the PMT signal processor interface.

Definition at line 25 of file JPMTDefaultSimulatorInterface.hh.

Member Function Documentation

◆ processHits()

virtual void JDETECTOR::JPMTDefaultSimulatorInterface::processHits ( const JPMTIdentifier & id,
const JCalibration & calibration,
const JStatus & status,
const JPMTData< JPMTSignal > & input,
JPMTData< JPMTPulse > & output ) const
inlineoverridevirtual

Process hits.

Parameters
idPMT identifier
calibrationPMT calibration
statusPMT status
inputPMT signals
outputPMT hits

Implements JDETECTOR::JPMTSimulator.

Definition at line 38 of file JPMTDefaultSimulatorInterface.hh.

43 {
44 if (hasPMTSignalProcessor(id)) {
45
46 const JPMTSignalProcessorInterface& cpu = getPMTSignalProcessor(id);
47
48 cpu(calibration, input, output);
49
50 // to correctly take into account dynamical nature of high-rate veto, apply PMT status to calibrated data
51
52 if (!getPMTStatus(id, getTimeRange(output), status)) {
53 output.clear();
54 }
55 }
56 }
virtual const bool hasPMTSignalProcessor(const JPMTIdentifier &pmt) const
Has PMT signal processor.
virtual bool getPMTStatus(const JPMTIdentifier &id, const JTimeRange &window, const JStatus &status) const
Get PMT status.
virtual const JPMTSignalProcessorInterface & getPMTSignalProcessor(const JPMTIdentifier &pmt) const
Get PMT signal processor.
JTimeRange getTimeRange(const JTimeRange &timeRange, const JModule &module)
Get de-calibrated time range.

◆ getPMTStatus()

virtual bool JDETECTOR::JPMTDefaultSimulatorInterface::getPMTStatus ( const JPMTIdentifier & id,
const JTimeRange & window,
const JStatus & status ) const
inlinevirtual

Get PMT status.

Parameters
idPMT identifier
windowtime range
statusPMT status
Returns
status

Reimplemented in JTRIGGER::JPMTRunByRunSimulator.

Definition at line 67 of file JPMTDefaultSimulatorInterface.hh.

68 {
69 return !status.has(PMT_DISABLE);
70 }
static const int PMT_DISABLE
KM3NeT Data Definitions v3.5.1-1-gd514d72 https://git.km3net.de/common/km3net-dataformat.
Definition pmt_status.hh:12

◆ hasPMTSignalProcessor()

virtual const bool JDETECTOR::JPMTDefaultSimulatorInterface::hasPMTSignalProcessor ( const JPMTIdentifier & pmt) const
inlinevirtual

Has PMT signal processor.

Parameters
pmtPMT identifier
Returns
true if this has PMT signal processor; else false

Reimplemented in JDETECTOR::JPMTDefaultSimulator.

Definition at line 79 of file JPMTDefaultSimulatorInterface.hh.

80 {
81 return true;
82 }

◆ getPMTSignalProcessor()

virtual const JPMTSignalProcessorInterface & JDETECTOR::JPMTDefaultSimulatorInterface::getPMTSignalProcessor ( const JPMTIdentifier & pmt) const
inlinevirtual

Get PMT signal processor.

Parameters
pmtPMT identifier
Returns
PMT signal processor

Reimplemented in JDETECTOR::JPMTDefaultSimulator.

Definition at line 91 of file JPMTDefaultSimulatorInterface.hh.

92 {
93 static const JPMTSignalProcessorInterface cpu;
94
95 return cpu;
96 }

The documentation for this class was generated from the following file: