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
G4HnManager.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4HnManager.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
//
26
27
// Class for management of G4HnInformation.
28
// It implements functions handling the added H1/H2 information
29
// (not available in g4tools).
30
//
31
// Author: Ivana Hrivnacova, 18/06/2013 (ivana@ipno.in2p3.fr)
32
33
#ifndef G4HnManager_h
34
#define G4HnManager_h 1
35
36
#include "
G4BaseAnalysisManager.hh
"
37
#include "
G4HnInformation.hh
"
38
#include "
globals.hh
"
39
40
#include <vector>
41
42
class
G4HnManager
:
public
G4BaseAnalysisManager
43
{
44
public
:
45
G4HnManager
(
const
G4String
& hnType,
46
const
G4AnalysisManagerState
& state);
47
virtual
~G4HnManager
();
48
49
// Methods to manipulate additional information
50
51
G4HnInformation
*
AddHnInformation
(
const
G4String
&
name
,
G4int
nofDimensions);
52
53
// Access methofd
54
G4HnInformation
*
GetHnInformation
(
G4int
id
,
55
G4String
functionName =
""
,
56
G4bool
warn =
true
)
const
;
57
58
G4HnDimensionInformation
*
GetHnDimensionInformation
(
G4int
id
,
59
G4int
dimension,
60
G4String
functionName =
""
,
61
G4bool
warn =
true
)
const
;
62
63
const
std::vector<G4HnInformation*>&
GetHnVector
()
const
;
64
G4int
GetNofHns
()
const
;
65
G4String
GetHnType
()
const
;
66
67
// Activation option
68
69
// Return false if activation is enabled and there is no object activated,
70
// return true otherwise
71
G4bool
IsActive
()
const
;
72
73
// ASCII option
74
75
// Return false if there is no object selected for ASCII output,
76
// return true otherwise
77
G4bool
IsAscii
()
const
;
78
79
// Plotting option
80
81
// Return false if there is no object selected for plotting,
82
// return true otherwise
83
G4bool
IsPlotting
()
const
;
84
85
// Function implementing public analysis manager interface
86
//
87
void
SetActivation
(
G4bool
activation);
88
void
SetActivation
(
G4int
id
,
G4bool
activation);
89
void
SetAscii
(
G4int
id
,
G4bool
ascii);
90
void
SetPlotting
(
G4bool
plotting);
91
void
SetPlotting
(
G4int
id
,
G4bool
plotting);
92
G4bool
SetXAxisIsLog
(
G4int
id
,
G4bool
isLogAxis);
93
G4bool
SetYAxisIsLog
(
G4int
id
,
G4bool
isLogAxis);
94
G4bool
SetZAxisIsLog
(
G4int
id
,
G4bool
isLogAxis);
95
96
97
// Access to Hn additional information
98
G4String
GetName
(
G4int
id
)
const
;
99
G4double
GetXUnit
(
G4int
id
)
const
;
100
G4double
GetYUnit
(
G4int
id
)
const
;
101
G4double
GetZUnit
(
G4int
id
)
const
;
102
G4bool
GetXAxisIsLog
(
G4int
id
)
const
;
103
G4bool
GetYAxisIsLog
(
G4int
id
)
const
;
104
G4bool
GetZAxisIsLog
(
G4int
id
)
const
;
105
G4bool
GetActivation
(
G4int
id
)
const
;
106
G4bool
GetAscii
(
G4int
id
)
const
;
107
G4bool
GetPlotting
(
G4int
id
)
const
;
108
109
private
:
110
// Data members
111
G4String
fHnType
;
112
G4int
fNofActiveObjects
;
113
G4int
fNofAsciiObjects
;
114
G4int
fNofPlottingObjects
;
115
116
// Additional histograms/ntuple properties not included in tools
117
std::vector<G4HnInformation*>
fHnVector
;
118
};
119
120
inline
G4int
G4HnManager::GetNofHns
()
const
121
{
return
G4int
(
fHnVector
.size()); }
122
123
inline
G4String
G4HnManager::GetHnType
()
const
124
{
return
fHnType
; }
125
126
inline
const
std::vector<G4HnInformation*>&
G4HnManager::GetHnVector
()
const
127
{
return
fHnVector
; }
128
129
#endif
130
geant4
tree
geant4-10.6-release
source
analysis
management
include
G4HnManager.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:11
using
1.8.2 with
ECCE GitHub integration