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
DMXEventAction.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file DMXEventAction.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
// GEANT 4 - Underground Dark Matter Detector Advanced Example
29
//
30
// For information related to this code contact: Alex Howard
31
// e-mail: alexander.howard@cern.ch
32
// --------------------------------------------------------------
33
// Comments
34
//
35
// Underground Advanced
36
// by A. Howard and H. Araujo
37
// (27th November 2001)
38
//
39
// EventAction header
40
// --------------------------------------------------------------
41
42
#ifndef DMXEventAction_h
43
#define DMXEventAction_h 1
44
45
#include "
G4UserEventAction.hh
"
46
#include "
globals.hh
"
47
#include "
G4ios.hh
"
48
49
#include "
DMXScintHit.hh
"
50
#include "
DMXPmtHit.hh
"
51
52
class
DMXRunAction
;
53
class
DMXPrimaryGeneratorAction
;
54
class
DMXEventActionMessenger
;
55
class
DMXAnalysisManager;
56
57
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
58
class
DMXEventAction
:
public
G4UserEventAction
{
59
60
public
:
61
DMXEventAction
();
62
virtual
~DMXEventAction
();
63
virtual
void
BeginOfEventAction
(
const
G4Event
*);
64
virtual
void
EndOfEventAction
(
const
G4Event
*);
65
66
private
:
67
void
writeScintHitsToFile
();
68
void
writePmtHitsToFile
(
const
DMXPmtHitsCollection
*);
69
void
drawTracks
(
const
G4Event
*);
70
71
public
:
72
void
SetDrawTrksFlag
(
G4String
val) {
drawTrksFlag
= val;};
73
G4String
GetDrawTrksFlag
()
const
{
return
drawTrksFlag
;};
74
75
void
SetDrawColsFlag
(
G4String
val) {
drawColsFlag
= val;};
76
G4String
GetDrawColsFlag
()
const
{
return
drawColsFlag
;};
77
78
void
SetDrawHitsFlag
(
G4int
val) {
drawHitsFlag
= val;};
79
void
SetSavePmtFlag
(
G4int
val) {
savePmtFlag
= val;};
80
void
SetSaveHitsFlag
(
G4int
val) {
saveHitsFlag
= val;};
81
void
SetPrintModulo
(
G4int
val) {
printModulo
= val;};
82
83
private
:
84
G4int
event_id
;
85
86
const
long
*
seeds
;
87
G4double
energy_pri
;
88
89
// hits collections
90
G4int
scintillatorCollID
;
91
G4int
pmtCollID
;
92
G4int
S_hits
;
93
G4int
P_hits
;
94
95
// event summary
96
G4double
aveTimePmtHits
;
97
G4double
totEnergy
;
98
G4double
totEnergyGammas
;
99
G4double
totEnergyNeutrons
;
100
G4double
hitEnergy
;
101
G4double
firstLXeHitTime
;
102
G4double
firstParticleE
;
103
G4double
particleEnergy
;
104
G4String
particleName
;
105
G4String
firstParticleName
;
106
107
G4bool
gamma_ev
;
108
G4bool
neutron_ev
;
109
G4bool
positron_ev
;
110
G4bool
electron_ev
;
111
G4bool
proton_ev
;
112
G4bool
other_ev
;
113
G4bool
start_gamma
;
114
G4bool
start_neutron
;
115
116
// messenger
117
G4String
drawTrksFlag
;
118
G4String
drawColsFlag
;
119
G4int
drawHitsFlag
;
120
G4int
savePmtFlag
;
121
G4int
saveHitsFlag
;
122
G4int
printModulo
;
123
DMXEventActionMessenger
*
eventMessenger
;
124
125
const
DMXRunAction
*
runAct
;
//pointer to run action
126
const
DMXPrimaryGeneratorAction
*
genAction
;
// pointer to particle generator
127
std::ofstream *
hitsfile
;
128
std::ofstream *
pmtfile
;
129
};
130
131
#endif
132
geant4
tree
geant4-10.6-release
examples
advanced
underground_physics
include
DMXEventAction.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:00
using
1.8.2 with
ECCE GitHub integration