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
XrayFluoAnalysisManager.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file XrayFluoAnalysisManager.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
//
28
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
29
//
30
// History:
31
// -----------
32
// 11 Jul 2003 A.Mantero, code cleaning / Plotter-XML addiction
33
// Sep 2002 A.Mantero, AIDA3.0 Migration
34
// 06 Dec 2001 A.Pfeiffer updated for singleton
35
// 30 Nov 2001 Guy Barrand : migrate to AIDA-2.2.
36
// 28 Nov 2001 Elena Guardincerri Created
37
//
38
// -------------------------------------------------------------------
39
40
#ifndef G4PROCESSTESTANALYSIS_HH
41
#define G4PROCESSTESTANALYSIS_HH
42
43
#include "
globals.hh
"
44
#include <vector>
45
#include "
G4ThreeVector.hh
"
46
#include "
XrayFluoDataSet.hh
"
47
#include "
XrayFluoAnalysisMessenger.hh
"
48
49
class
G4Step
;
50
class
XrayFluoAnalysisMessenger
;
51
52
//....oooOO0OOoo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
53
class
XrayFluoAnalysisManager
54
{
55
public
:
56
57
virtual
~XrayFluoAnalysisManager
();
58
59
void
book
();
60
61
void
finish
();
62
63
//fill histograms with data from XrayFluoSteppingAction
64
void
analyseStepping
(
const
G4Step
* aStep);
65
66
//fill histograms with data from XrayFluoEventAction
67
void
analyseEnergyDep
(
G4double
eDep);
68
69
//fill histograms with data from XrayFluoPrimarygeneratorAction
70
void
analysePrimaryGenerator
(
G4double
energy
);
71
72
//method to call to create an instance of this class
73
static
XrayFluoAnalysisManager
*
getInstance
();
74
75
// methods to set the flag for the storage of the space of phases into ntuple
76
inline
void
PhaseSpaceOn
(){
phaseSpaceFlag
=
true
;}
77
78
inline
void
PhaseSpaceOff
(){
phaseSpaceFlag
=
false
;}
79
80
//method to chenge the name of the output file
81
void
SetOutputFileName
(
G4String
);
82
83
const
std::pair<G4double,G4String>
GetEmittedParticleEnergyAndType
();
84
85
void
LoadGunData
(
G4String
,
G4bool
);
86
87
void
SetPhysicFlag
(
G4bool
);
88
89
private
:
90
//private constructor in order to create a singleton
91
XrayFluoAnalysisManager
();
92
93
G4String
outputFileName
;
94
95
G4bool
phaseSpaceFlag
;
96
97
G4bool
physicFlag
;
98
99
std::vector<G4double>*
gunParticleEnergies
;
100
std::vector<G4String>*
gunParticleTypes
;
101
102
//Instance for singleton implementation this is the returned
103
static
XrayFluoAnalysisManager
*
instance
;
104
105
//pointer to the analysis messenger
106
XrayFluoAnalysisMessenger
*
analisysMessenger
;
107
108
G4bool
dataLoaded
;
109
110
G4int
fParticleEnergyAndTypeIndex
;
111
112
};
113
#endif
114
115
116
geant4
tree
geant4-10.6-release
examples
advanced
xray_fluorescence
include
XrayFluoAnalysisManager.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:01
using
1.8.2 with
ECCE GitHub integration