23#ifndef RestCore_TRestGeant4AnalysisProcess
24#define RestCore_TRestGeant4AnalysisProcess
26#include <TRestGeant4Event.h>
27#include <TRestGeant4Metadata.h>
29#include "TRestEventProcess.h"
49 std::vector<std::string> fVolumeName;
82 Bool_t fPerProcessSensitiveEnergy =
false;
83 Bool_t fPerProcessSensitiveEnergyNorm =
false;
100 void LoadConfig(
const std::string& configFilename,
const std::string& name =
"");
A base class for any REST event process.
void BeginPrintProcess()
[name, cut range]
A base class for any REST event.
A pure analysis process to extract information from a TRestGeant4Event.
void Initialize() override
Function to initialize input/output event members and define the section name.
std::vector< std::string > fEnergyInObservables
It stores the name of observables xxxVolumeEDep related to the energy deposition in volume xxx.
std::vector< std::string > fDirID
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
void InitProcess() override
Process initialization. Observable names are interpreted and auxiliar observable members,...
TRestGeant4Event * fInputG4Event
A pointer to the specific TRestGeant4Event input.
void LoadConfig(const std::string &configFilename, const std::string &name="")
Function to load the configuration from an external configuration file.
TRestGeant4Metadata * fG4Metadata
A pointer to the simulation metadata information accessible to TRestRun.
void PrintMetadata() override
It prints out the process parameters stored in the metadata structure.
~TRestGeant4AnalysisProcess()
Default destructor.
const char * GetProcessName() const override
Returns the name of this process.
std::vector< std::string > fTracksEDepObservables
A std::vector storing the observable name xxxTracksEDep for a given xxx particle.
std::vector< std::string > fParticleTrackCounter
A std::vector storing the xxx particle name extracted from xxxTracksCounter.
std::vector< std::string > fProcessObservables
A std::vector storing the name of observables related to processes in a particular active volume.
std::vector< Int_t > fVolumeID2
A std::vector storing the active volume ids corresponding mean position observable xxxMeanPosX,...
void LoadDefaultConfig()
Function to load the default config in absence of RML input.
TRestEventProcess * Maker()
Returns a new instance of this class.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
The main processing event function.
std::vector< Int_t > fVolumeID
A std::vector storing the active volume ids of observables xxxVolumeEDep.
TRestGeant4Event * fOutputG4Event
A pointer to the specific TRestGeant4Event output.
std::vector< std::string > fTrackCounterObservables
A std::vector storing the observable name xxxTracksCounter for a given xxx particle.
std::vector< Int_t > fVolumeID3
A std::vector storing the active volume ids corresponding process observable .
TRestGeant4AnalysisProcess()
Default constructor.
std::vector< std::string > fMeanPosObservables
A std::vector storing the name of active volumes.
std::vector< std::string > fProcessName
A std::vector storing the name of processes.
void EndProcess() override
Function to include required actions after all events have been processed.
std::vector< std::string > fParticleTrackEdep
A std::vector storing the xxx particle name extracted from xxxTracksEDep.
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
An event class to store geant4 generated event information.