9#include <beast/dosi/modules/DosiDigitizerModule.h>
10#include <beast/dosi/dataobjects/DosiSimHit.h>
12#include <framework/logging/Logger.h>
13#include <framework/gearbox/GearDir.h>
14#include <framework/core/RandomNumbers.h>
51 B2INFO(
"DosiDigitizer: Initializing");
68 for (
int i = 0; i < nentries; i++) {
77 double erecdep = m_energyDeposit;
79 DosiHits.
appendNew(
DosiHit(m_cellID, m_trackID, pdgCode, m_Time * m_energyDeposit / erecdep, m_energyDeposit, m_Mom,
80 m_Pos * (m_energyDeposit / erecdep), erecdep));
89 B2INFO(
"DosiDigitizer: Aquired dosi locations and gas parameters");
90 B2INFO(
" from DOSI.xml. There are " <<
nDOSI <<
" DOSIs implemented");
ClassDosiHit - Geant4 ulated hit for the Dosi crystal in beast.
ClassDosiSimHit - Geant4 simulated hit for the Dosi crystal in beast.
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
int getTrackId() const
Get Track ID.
int getCellId() const
Get Cell ID.
double getFlightTime() const
Get Flight time from IP.
double getEnergyDep() const
Get Deposit energy.
ROOT::Math::XYZVector getMomentum() const
Get Momentum.
ROOT::Math::XYZVector getPosition() const
Get Position.
void setDescription(const std::string &description)
Sets the description of the module.
Accessor to arrays stored in the data store.
T * appendNew()
Construct a new T object at the end of the array.
int getEntries() const
Get the number of objects in the array.
virtual void initialize() override
Initialize the Module.
double m_EnergyResolutionConst[8]
Energy resolution constant.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual void getXMLData()
reads data from DOSI.xml: threshold in MeV, range in MeV, and resolution in %
double m_EnergyResolutionFactor[8]
Energy threshold.
virtual void terminate() override
Termination action.
int nDOSI
number of detectors.
virtual ~DosiDigitizerModule()
Destructor.
virtual void beginRun() override
Called when entering a new run.
StoreArray< DosiHit > m_dosiHit
array for DosiHit
Double_t GetEnergyResolutionGeV(Double_t, Int_t)
Fold energy resolution.
DosiDigitizerModule()
Constructor: Sets the description, the properties and the parameters of the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.