 |
Belle II Software
release-05-02-19
|
14 #include <klm/dataobjects/bklm/BKLMSimHit.h>
15 #include <klm/dataobjects/eklm/EKLMSimHit.h>
16 #include <klm/dataobjects/eklm/EKLMElementNumbers.h>
17 #include <klm/dataobjects/KLMDigit.h>
18 #include <klm/dataobjects/KLMElementNumbers.h>
19 #include <klm/dbobjects/eklm/EKLMChannels.h>
20 #include <klm/dbobjects/KLMChannelStatus.h>
21 #include <klm/dbobjects/KLMScintillatorDigitizationParameters.h>
22 #include <klm/dbobjects/KLMStripEfficiency.h>
23 #include <klm/dbobjects/KLMTimeConversion.h>
24 #include <klm/simulation/ScintillatorFirmware.h>
27 #include <framework/core/Module.h>
28 #include <framework/database/DBObjPtr.h>
29 #include <framework/datastore/StoreArray.h>
43 class KLMDigitizerModule :
public Module {
70 virtual void event()
override;
75 virtual void endRun()
override;
virtual void initialize() override
Initializer.
bool m_SaveFPGAFit
Save FPGA fit data (KLMScintillatorFirmwareFitResult).
void digitizeBKLM()
Digitization in BKLM.
std::string m_SimulationMode
Simulation mode.
std::multimap< uint16_t, const EKLMSimHit * > m_eklmSimHitPlaneMap
Simulation hit map for EKLM (by plane).
StoreArray< KLMDigit > m_Digits
KLM digits.
bool efficiencyCorrection(float efficiency)
Efficiency correction.
std::multimap< uint16_t, const BKLMSimHit * > m_bklmSimHitChannelMap
Simulation hit map for BKLM (by channel).
int m_DigitizationInitialTime
Initial digitization time in TDC periods.
std::string m_Efficiency
Efficiency determination mode ("Strip" or "Plane").
virtual void event() override
This method is called for each event.
DBObjPtr< KLMStripEfficiency > m_StripEfficiency
Strip efficiency.
Class for accessing objects in the database.
std::multimap< uint16_t, const EKLMSimHit * > m_eklmSimHitChannelMap
Simulation hit map for EKLM (by channel).
const KLMElementNumbers * m_ElementNumbers
Element numbers.
StoreArray< BKLMSimHit > m_bklmSimHits
BKLM simulation hits.
virtual void beginRun() override
Called when entering a new run.
KLM::ScintillatorFirmware * m_Fitter
FPGA fitter.
std::multimap< uint16_t, const BKLMSimHit * > m_bklmSimHitPlaneMap
Simulation hit map for BKLM (by plane).
StoreArray< KLMScintillatorFirmwareFitResult > m_FPGAFits
FPGA fits.
Abstract base class for different kinds of events.
virtual ~KLMDigitizerModule()
Destructor.
virtual void terminate() override
This method is called at the end of the event processing.
DBObjPtr< KLMScintillatorDigitizationParameters > m_DigPar
Digitization parameters.
EfficiencyMode m_EfficiencyMode
Efficiency determination mode (converted from the string parameter).
StoreArray< EKLMSimHit > m_eklmSimHits
EKLM simulation hits.
void digitizeEKLM()
Digitization in EKLM.
bool checkActive(uint16_t channel)
Check if channel is active (status is not KLMChannelStatus::c_Dead).
DBObjPtr< KLMTimeConversion > m_TimeConversion
Time conversion.
const EKLMElementNumbers * m_eklmElementNumbers
EKLM element numbers.
Accessor to arrays stored in the data store.
bool m_Debug
Use debug mode in EKLM::ScintillatorSimulator or not.
KLMDigitizerModule()
Constructor.
void checkChannelParameters()
Check channel parameters for channel-specific simulation.
bool m_ChannelSpecificSimulation
Whether the simulation is channel-specific.
EfficiencyMode
Efficiency determination mode.
DBObjPtr< KLMChannelStatus > m_ChannelStatus
Channel status.
DBObjPtr< EKLMChannels > m_Channels
Channel data.
virtual void endRun() override
This method is called if the current run ends.