Jpp 20.0.0-27-g39925593c-D
the software that should make you happy
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 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 const JPMTSignalProcessorInterface& cpu = getPMTSignalProcessor(id);
45
46 cpu(calibration, input, output);
47
48 // to correctly take into account dynamical nature of high-rate veto, apply PMT status to calibrated data
49
50 if (!output.empty()) {
51 if (!getPMTStatus(id, getTimeRange(output), status)) {
52 output.clear();
53 }
54 }
55 }
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 66 of file JPMTDefaultSimulatorInterface.hh.

67 {
68 return !status.has(PMT_DISABLE);
69 }
static const int PMT_DISABLE
ile KM3NeT Data Definitions v3.6.2 https://git.km3net.de/common/km3net-dataformat
Definition pmt_status.hh:13

◆ 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 78 of file JPMTDefaultSimulatorInterface.hh.

79 {
80 static const JPMTSignalProcessorInterface cpu;
81
82 return cpu;
83 }

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