Handling the saving to the file. More...
#include <Doxymodules_parameterisations.h>
Public Types | |
enum | SaveType { eNoSave , eSaveMC , eSaveTracker , eSaveEMCal , eSaveHCal } |
Indicates to which ntuple to save the information. More... | |
Public Member Functions | |
void | SetFileName (G4String name) |
Sets the file name of the output root file. | |
G4String | GetFileName () |
Gets the file name of the output root file. | |
void | AppendName (G4bool app) |
Sets fFileNameWithRunNo that indicates whether to add the run number to the file name. | |
void | StartAnalysis (G4int runID) |
Calls the G4AnalysisManager::Instance(). | |
void | EndAnalysis () |
Calls the G4AnalysisManager::Instance(). | |
void | CreateNtuples () |
Creates Ntuples used to store information about particle (its ID, PDG code, energy deposits, etc.). | |
void | CreateHistograms () |
Creates histograms to combine information from all the events in the run. | |
void | SaveTrack (SaveType aWhatToSave, G4int aPartID, G4int aPDG, G4ThreeVector aVector, G4double aResolution=0, G4double aEfficiency=1, G4double aEnergy=0) |
Saves the information about the particle (track). | |
void | FillHistogram (G4int HNo, G4double value) const |
Fills the histogram. | |
~Par02Output () | |
Static Public Member Functions | |
static Par02Output * | Instance () |
Allows the access to the unique Par02Output object. | |
Protected Member Functions | |
Par02Output () | |
A default, protected constructor (due to singleton pattern). | |
Private Attributes | |
G4String | fFileName |
A name of the output root file. | |
G4bool | fFileNameWithRunNo |
If true, a run number should be added to the file. Default: false. | |
Static Private Attributes | |
static Par02Output * | fPar02Output = nullptr |
The pointer to the only Par02Output class object. | |
static G4ThreadLocal G4int | fCurrentNtupleId = 0 |
Current ntuple Id. | |
static G4ThreadLocal G4int | fCurrentID = 0 |
A control value of particle ID to ensure that data saved to various ntuples match the same particle. | |
Handling the saving to the file.
A singleton class that manages creation, writing to and closing of the Root output file.
Definition at line 44 of file Doxymodules_parameterisations.h.
Indicates to which ntuple to save the information.
Enumerator | |
---|---|
eNoSave | |
eSaveMC | |
eSaveTracker | |
eSaveEMCal | |
eSaveHCal |
Definition at line 46 of file Par02Output.hh.
|
default |
|
protected |
A default, protected constructor (due to singleton pattern).
Definition at line 47 of file Par02Output.cc.
|
static |
Allows the access to the unique Par02Output object.
Definition at line 57 of file Par02Output.cc.
void Par02Output::SetFileName | ( | G4String | name | ) |
Sets the file name of the output root file.
name | The name of the file. |
Definition at line 66 of file Par02Output.cc.
G4String Par02Output::GetFileName | ( | ) |
Gets the file name of the output root file.
Definition at line 78 of file Par02Output.cc.
void Par02Output::AppendName | ( | G4bool | app | ) |
Sets fFileNameWithRunNo that indicates whether to add the run number to the file name.
app | If add the run number. |
Definition at line 72 of file Par02Output.cc.
void Par02Output::StartAnalysis | ( | G4int | runID | ) |
Calls the G4AnalysisManager::Instance().
It sets the file name of the output file based on fFileName and fFileNameWithRunNo and opens the file.
runID | A run number (to be added to file name if fFileNameWithRunNo is true). |
Definition at line 84 of file Par02Output.cc.
void Par02Output::EndAnalysis | ( | ) |
Calls the G4AnalysisManager::Instance().
It writes to the output file and close it.
Definition at line 98 of file Par02Output.cc.
void Par02Output::CreateNtuples | ( | ) |
Creates Ntuples used to store information about particle (its ID, PDG code, energy deposits, etc.).
To be called for each event in Par02EventAction.
Definition at line 106 of file Par02Output.cc.
void Par02Output::CreateHistograms | ( | ) |
Creates histograms to combine information from all the events in the run.
To be called for each run in Par02RunAction.
Definition at line 144 of file Par02Output.cc.
void Par02Output::SaveTrack | ( | SaveType | aWhatToSave, |
G4int | aPartID, | ||
G4int | aPDG, | ||
G4ThreeVector | aVector, | ||
G4double | aResolution = 0 , |
||
G4double | aEfficiency = 1 , |
||
G4double | aEnergy = 0 |
||
) |
Saves the information about the particle (track).
aWhatToSave | enum indicating what kind of information to store (in which ntuple). |
aPartID | A unique ID within event (taken Geant TrackID). |
aPDG | A PDG code of a particle. |
aVector | A vector to be stored (particle momentum in tracker or position of energy deposit in calorimeter). |
aResolution | A resolution of the detector that was used. |
aEfficiency | An efficiency of the detector that was used. |
aEnergy | An energy deposit (for calorimeters only: Par02Output::SaveType::eEMCal or Par02Output::SaveType::eHCal). |
Definition at line 160 of file Par02Output.cc.
void Par02Output::FillHistogram | ( | G4int | HNo, |
G4double | value | ||
) | const |
Fills the histogram.
HNo | Number of a histogram (decided by the order of creation in CreateHistograms(), the first one is 0). |
value | A value to be filled into the histogram. |
Definition at line 217 of file Par02Output.cc.
|
staticprivate |
The pointer to the only Par02Output class object.
Definition at line 114 of file Par02Output.hh.
|
staticprivate |
Current ntuple Id.
Definition at line 117 of file Par02Output.hh.
|
private |
A name of the output root file.
Definition at line 120 of file Par02Output.hh.
|
private |
If true, a run number should be added to the file. Default: false.
Definition at line 123 of file Par02Output.hh.
|
staticprivate |
A control value of particle ID to ensure that data saved to various ntuples match the same particle.
It is set when Monte Carlo information is saved and checked for all the detectors.
Definition at line 128 of file Par02Output.hh.