ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
HistoManager.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HistoManager.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
28
//
29
//---------------------------------------------------------------------------
30
//
31
// ClassName: HistoManager
32
//
33
// Description: Singleton class to hold parameters and build histograms.
34
// User cannot access to the constructor.
35
// The pointer of the only existing object can be got via
36
// HistoManager::GetPointer() static method.
37
// The first invokation of this static method makes
38
// the singleton object.
39
//
40
// Author: V.Ivanchenko 27/09/00
41
//
42
// Modified:
43
// 04.06.2006 Adoptation of Hadr01 (V.Ivanchenko)
44
// 03.10.2006 Add csFlag (V.Ivanchenko)
45
// 16.11.2006 Add beamFlag (V.Ivanchenko)
46
//
47
//----------------------------------------------------------------------------
48
//
49
50
#ifndef HistoManager_h
51
#define HistoManager_h 1
52
53
#include "
globals.hh
"
54
#include "
G4Material.hh
"
55
#include "
G4Element.hh
"
56
57
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
58
59
class
Histo
;
60
class
G4Track
;
61
class
G4Step
;
62
class
G4ParticleDefinition
;
63
64
class
HistoManager
65
{
66
public
:
67
68
static
HistoManager
*
GetPointer
();
69
70
private
:
71
72
HistoManager
();
73
74
public
:
75
76
~HistoManager
();
77
78
void
BookHisto
();
79
80
void
BeginOfRun
();
81
void
EndOfRun
();
82
void
BeginOfEvent
();
83
void
EndOfEvent
();
84
void
Fill
(
G4int
id
,
G4double
x
,
G4double
w
);
85
86
void
ScoreNewTrack
(
const
G4Track
*);
87
void
AddTargetStep
(
const
G4Step
*);
88
void
AddLeakingParticle
(
const
G4Track
*);
89
90
void
SetVerbose
(
G4int
val);
91
92
inline
void
SetTargetLength
(
G4double
val) {
fLength
= val;};
93
inline
void
SetNumberOfSlices
(
G4int
val) {
fNSlices
= val;};
94
inline
void
SetNumberOfBinsE
(
G4int
val) {
fNBinsE
= val;};
95
inline
void
SetDefaultBeamPositionFlag
(
G4bool
f
) {
fBeamFlag
=
f
;};
96
inline
void
SetMaxEnergyDeposit
(
G4double
val) {
fEdepMax
= val;};
97
98
inline
G4double
Length
()
const
{
return
fLength
;};
99
inline
G4bool
DefaultBeamPosition
()
const
{
return
fBeamFlag
;};
100
inline
G4int
NumberOfSlices
()
const
{
return
fNSlices
;};
101
inline
G4int
GetVerbose
()
const
{
return
fVerbose
;};
102
103
private
:
104
105
static
HistoManager
*
fManager
;
106
107
const
G4ParticleDefinition
*
fPrimaryDef
;
108
const
G4ParticleDefinition
*
fNeutron
;
109
110
G4double
fEdepMax
;
111
G4double
fEdepEvt
;
112
G4double
fEdepEM
;
113
G4double
fEdepPI
;
114
G4double
fEdepP
;
115
G4double
fEdepSum
;
116
G4double
fEdepSum2
;
117
G4double
fLength
;
118
G4double
fAbsZ0
;
119
G4double
fPrimaryKineticEnergy
;
120
121
G4int
fVerbose
;
122
G4int
fNBinsE
;
123
G4int
fNSlices
;
124
125
G4int
fNevt
;
126
G4int
fNelec
;
127
G4int
fNposit
;
128
G4int
fNgam
;
129
G4int
fNprot_leak
;
130
G4int
fNpiofNleak
;
131
G4int
fNcpions
;
132
G4int
fNpi0
;
133
G4int
fNkaons
;
134
G4int
fNmuons
;
135
G4int
fNions
;
136
G4int
fNdeut
;
137
G4int
fNalpha
;
138
G4int
fNneutron
;
139
G4int
fNproton
;
140
G4int
fNaproton
;
141
G4int
fNneu_forw
;
142
G4int
fNneu_leak
;
143
G4int
fNneu_back
;
144
G4int
fNstep
;
145
G4int
fNHisto
;
146
147
G4bool
fBeamFlag
;
148
G4bool
fHistoBooked
;
149
150
Histo
*
fHisto
;
151
};
152
153
#endif
geant4
tree
geant4-10.6-release
examples
extended
hadronic
Hadr01
include
HistoManager.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:53
using
1.8.2 with
ECCE GitHub integration