Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Par03RunAction Class Reference

Run action. More...

#include <Doxymodules_parameterisations.h>

Inheritance diagram for Par03RunAction:
G4UserRunAction

Public Member Functions

 Par03RunAction (Par03DetectorConstruction *aDetector)
 Constructor. Defines the histograms.
 
virtual ~Par03RunAction ()
 
virtual void BeginOfRunAction (const G4Run *) final
 Open the file for the analysis.
 
virtual void EndOfRunAction (const G4Run *) final
 Write and close the file.
 

Private Attributes

Par03DetectorConstructionfDetector
 Pointer to detector construction to retrieve the detector dimensions to setup the histograms.
 

Detailed Description

Run action.

Create analysis file and define control histograms for showers in detectors. Histograms are configured taking into account the dimensions of the detector (and number of readout cells).

Definition at line 67 of file Doxymodules_parameterisations.h.

Constructor & Destructor Documentation

◆ Par03RunAction()

Par03RunAction::Par03RunAction ( Par03DetectorConstruction aDetector)

Constructor. Defines the histograms.

Definition at line 31 of file Par03RunAction.cc.

33 , fDetector(aDetector)
34{
35 // Create analysis manager
36 G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
37 analysisManager->SetDefaultFileType("root");
38
39 // Default filename, can be overriden with /analysis/setFileName
40 analysisManager->SetFileName("Par03Output");
41}
Par03DetectorConstruction * fDetector
Pointer to detector construction to retrieve the detector dimensions to setup the histograms.

◆ ~Par03RunAction()

Par03RunAction::~Par03RunAction ( )
virtualdefault

Member Function Documentation

◆ BeginOfRunAction()

void Par03RunAction::BeginOfRunAction ( const G4Run )
finalvirtual

Open the file for the analysis.

Definition at line 49 of file Par03RunAction.cc.

50{
51 // Get detector dimensions
52 G4int cellNumZ = fDetector->GetNbOfLayers();
53 G4int cellNumRho = fDetector->GetNbOfRhoCells();
54 G4double cellSizeZ = fDetector->GetLength() / cellNumZ;
55 G4double cellSizeRho = fDetector->GetRadius() / cellNumRho;
56 // Default max value of energy stored in histogram (in GeV)
57 G4double maxEnergy = 100;
58
59 // Get analysis manager
60 auto analysisManager = G4AnalysisManager::Instance();
61
62 // Creating control histograms
63 analysisManager->CreateH1("energyParticle",
64 "Primary energy;E_{MC} (GeV);Entries", 256, 0,
65 1.1 * maxEnergy);
66 analysisManager->CreateH1("energyDeposited",
67 "Deposited energy;E_{MC} (GeV);Entries", 256, 0,
68 1.1 * maxEnergy);
69 analysisManager->CreateH1(
70 "energyRatio",
71 "Ratio of energy deposited to primary;E_{dep} / E_{MC};Entries", 1024, 0,
72 1);
73 analysisManager->CreateH1("time", "Simulation time; time (s);Entries", 2048,
74 0, 30);
75 analysisManager->CreateH1(
76 "longProfile", "Longitudinal profile;t (mm);#LTE#GT (MeV)", cellNumZ,
77 -0.5 * cellSizeZ, (cellNumZ - 0.5) * cellSizeZ);
78 analysisManager->CreateH1(
79 "transProfile", "Transverse profile;r (mm);#LTE#GT (MeV)", cellNumRho,
80 -0.5 * cellSizeRho, (cellNumRho - 0.5) * cellSizeRho);
81 analysisManager->CreateH1(
82 "longFirstMoment",
83 "First moment of longitudinal distribution;#LT#lambda#GT (mm);Entries",
84 1024, -0.5 * cellSizeZ,
85 cellNumZ * cellSizeZ / 2); // arbitrary scaling of max value on axis
86 analysisManager->CreateH1("transFirstMoment",
87 "First moment of transverse distribution;#LTr#GT "
88 "(mm);Entries",
89 1024, -0.5 * cellSizeRho,
90 cellNumRho * cellSizeRho /
91 10); // arbitrary scaling of max value on axis
92 analysisManager->CreateH1(
93 "longSecondMoment",
94 "Second moment of longitudinal distribution;#LT#lambda^{2}#GT "
95 "(mm^{2});Entries",
96 1024, 0,
97 std::pow(cellNumZ * cellSizeZ, 2) /
98 25); // arbitrary scaling of max value on axis
99 analysisManager->CreateH1(
100 "transSecondMoment",
101 "Second moment of transverse distribution;#LTr^{2}#GT (mm^{2});Entries",
102 1024, 0,
103 std::pow(cellNumRho * cellSizeRho, 2) /
104 25); // arbitrary scaling of max value on axis
105 analysisManager->CreateH1(
106 "hitType", "hit type;type (0=full, 1= fast);Entries", 2, -0.5, 1.5);
107
108 // Open an output file
109 analysisManager->OpenFile();
110}

◆ EndOfRunAction()

void Par03RunAction::EndOfRunAction ( const G4Run )
finalvirtual

Write and close the file.

Definition at line 114 of file Par03RunAction.cc.

115{
116 auto analysisManager = G4AnalysisManager::Instance();
117 analysisManager->Write();
118 analysisManager->CloseFile();
119 analysisManager->Clear();
120}

Member Data Documentation

◆ fDetector

Par03DetectorConstruction* Par03RunAction::fDetector
private

Pointer to detector construction to retrieve the detector dimensions to setup the histograms.

Definition at line 57 of file Par03RunAction.hh.


The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration