9#include <pxd/modules/pxdSimulation/PXDInjectionVetoEmulatorModule.h>
10#include <vxd/geometry/GeoCache.h>
11#include <vxd/geometry/GeoTools.h>
33 setDescription(
"The module emulates the timing for gated mode operation of PXD.");
37 "The name of the StoreObjPtr of generated Injection Bg timing", std::string(
""));
39 "Minimum time for the first passage of a noise bunch that can deposit charge in the PXD in nano seconds", -20000.0);
41 "Maximum time for the first passage of a noise bunch that can deposit charge in the PXD in nano seconds", -10000.0);
56 m_nGates = gTools->getNumberOfPXDReadoutGates();
65 int triggerGate = gRandom->Integer(
m_nGates);
@ c_ErrorIfAlreadyRegistered
If the object/array was already registered, produce an error (aborting initialisation).
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
std::string m_PXDIBTimingName
The name of the StoreObjPtr of PXDInjectionBGTiming to be generated.
void initialize() override final
Initialize.
double m_minTimePXD
Minimal global time for injection veto for PXD.
double m_revolutionTime
Revolution time of noise bunches.
double m_maxTimePXD
Maximal global time for injection veto for PXD.
void event() override final
Event.
int m_nGates
Number of readout gates (or total number of Switcher channels)
StoreObjPtr< PXDInjectionBGTiming > m_storePXDIBTiming
Output object for injection Bkg timing for PXD.
PXDInjectionVetoEmulatorModule()
Constructor: Sets the description, the properties and the parameters of the module.
double m_pxdGatedModeLumiFraction
Fraction of time in the PXD Gated Mode for the PXD readout.
static GeoCache & getInstance()
Return a reference to the singleton instance.
const GeoTools * getGeoTools()
Return a raw pointer to a GeoTools object.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.