23 #ifndef RestCore_TRestGeant4QuenchingProcess
24 #define RestCore_TRestGeant4QuenchingProcess
26 #include <TRestEventProcess.h>
28 #include "TRestGeant4Event.h"
29 #include "TRestGeant4Metadata.h"
54 std::vector<std::string> GetUserVolumeExpressions()
const;
55 float_t GetQuenchingFactorForVolumeAndParticle(
const std::string& volumeName,
56 const std::string& particleName)
const;
66 void LoadConfig(
const std::string& configFilename,
const std::string& name =
"");
A base class for any REST event process.
A base class for any REST event.
An event class to store geant4 generated event information.
Recomputes the energy of every hit based on quenching factor for each particle and volume.
TRestGeant4Event * fOutputG4Event
A pointer to the specific TRestGeant4Event output.
TRestEventProcess * Maker()
Returns a new instance of this class.
const char * GetProcessName() const override
Returns the name of this process.
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
The main processing event function.
TRestGeant4Metadata * fGeant4Metadata
A pointer to the simulation metadata information accessible to TRestRun.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
std::map< std::string, std::map< std::string, float_t > > fVolumeParticleQuenchingFactor
It stores the quenching factor for each particle for each volume of the simulation.
TRestGeant4Event * fInputG4Event
A pointer to the specific TRestGeant4Event input.
void EndProcess() override
Function to include required actions after all events have been processed.
void LoadDefaultConfig()
Function to load the default config in absence of RML input.
void LoadConfig(const std::string &configFilename, const std::string &name="")
Function to load the configuration from an external configuration file.
TRestGeant4QuenchingProcess()
Default constructor.
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
void Initialize() override
Function to initialize input/output event members and define the section name.
~TRestGeant4QuenchingProcess() override
Default destructor.
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
std::map< std::string, std::map< std::string, float_t > > fUserVolumeParticleQuenchingFactor
It stores the quenching factor for each particle for each user volume expression.
void InitProcess() override
Process initialization. User volume expressions are matched to physical volumes.