ATLAS Offline Software
TileCalorimeter
TileG4
TileGeoG4Calib
src
TileEscapedEnergyProcessing.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// class TileEscapedEnergyProcessing
7
//
8
// Author: Gia Khoriauli <gia@mail.cern.ch>
9
// May, 2005
10
//
11
// This manages processing of those particles, which were created
12
// in Tile region and escaped from World later
13
//
15
16
#ifndef TILEGEOG4CALIB_TILEESCAPEDENERGYPROCESSING_H
17
#define TILEGEOG4CALIB_TILEESCAPEDENERGYPROCESSING_H
18
19
// The SimulationEnergies class provides a common procedure for
20
// categorizing the energy deposited in a given G4Step. However,
21
// special processing is required for escaped energy.
22
23
// The issue is that, if a particle's energy is lost by escaping the
24
// simulation, you don't want to record that energy in the volume it
25
// escapes; you want to record that energy in the volume in which the
26
// particle was created. Neutrinos are a good example of this.
27
28
// In effect, the SimulationEnergies class has to issue an "interrupt"
29
// to some other volume than the current G4Step, telling that other
30
// volume to accumulate the energy of the escaped particle.
31
32
// This class contains the processing to handle the escaped energy
33
// processing for volumes in the Tile portion of the simulation.
34
35
#include "
CaloG4Sim/VEscapedEnergyProcessing.h
"
36
37
#include "G4TouchableHandle.hh"
38
#include "G4ThreeVector.hh"
39
#include "globals.hh"
40
41
class
G4Step;
42
43
class
TileEscapedEnergyProcessing
:
public
CaloG4::VEscapedEnergyProcessing
{
44
public
:
45
TileEscapedEnergyProcessing
(
const
int
verboseLevel);
46
virtual
~TileEscapedEnergyProcessing
();
47
48
// Method: The G4TouchableHandle to the volume in which "point" is
49
// located; the value of "point" itself in case additional
50
// processing is necessary, and the amount of escaped energy.
51
virtual
G4bool
Process
( G4Step* fakeStep );
52
53
//After escaped particle is detected and its 'mother' step is created
54
//this method will retrieve the respective SD for the volume where escaped
55
//particle was created and invokes SD::ProcessHits() - method.
56
G4bool
Call_SD_ProcessHits
(G4Step* aStep, G4String &SDname);
57
58
void
SetEscapedFlag
(
bool
);
59
void
SetEnergy5
(
double
);
60
void
SetEscapedEnergy
(
double
);
61
62
bool
GetEscapedFlag
();
63
double
GetEnergy5
();
64
double
GetEscapedEnergy
();
65
66
private
:
67
TileEscapedEnergyProcessing
() =
delete
;
68
// takes the flag that particle has escaped,
69
// the 'mother' step of escaped particle and
70
// amount of that energy, which can't be calculated
71
// by Simulation energies
72
bool
m_escaped
;
73
double
m_escapedEnergy
;
74
double
m_energy5
;
75
//int m_verboseLevel;
76
77
};
78
79
inline
void
TileEscapedEnergyProcessing::SetEscapedFlag
(
bool
escaped) {
80
m_escaped
= escaped;
81
}
82
inline
void
TileEscapedEnergyProcessing::SetEnergy5
(
double
ene5) {
83
m_energy5
= ene5;
84
}
85
inline
void
TileEscapedEnergyProcessing::SetEscapedEnergy
(
double
escapedEnergy) {
86
m_escapedEnergy
= escapedEnergy;
87
}
88
89
inline
bool
TileEscapedEnergyProcessing::GetEscapedFlag
() {
90
return
m_escaped
;
91
}
92
inline
double
TileEscapedEnergyProcessing::GetEnergy5
() {
93
return
m_energy5
;
94
}
95
inline
double
TileEscapedEnergyProcessing::GetEscapedEnergy
() {
96
return
m_escapedEnergy
;
97
}
98
99
#endif // TILEGEOG4CALIB_TILEESCAPEDENERGYPROCESSING_H
TileEscapedEnergyProcessing::m_escaped
bool m_escaped
Definition:
TileEscapedEnergyProcessing.h:72
TileEscapedEnergyProcessing::GetEnergy5
double GetEnergy5()
Definition:
TileEscapedEnergyProcessing.h:92
TileEscapedEnergyProcessing::GetEscapedFlag
bool GetEscapedFlag()
Definition:
TileEscapedEnergyProcessing.h:89
TileEscapedEnergyProcessing::GetEscapedEnergy
double GetEscapedEnergy()
Definition:
TileEscapedEnergyProcessing.h:95
TileEscapedEnergyProcessing
Definition:
TileEscapedEnergyProcessing.h:43
TileEscapedEnergyProcessing::Process
virtual G4bool Process(G4Step *fakeStep)
TileEscapedEnergyProcessing::m_escapedEnergy
double m_escapedEnergy
Definition:
TileEscapedEnergyProcessing.h:73
TileEscapedEnergyProcessing::SetEscapedFlag
void SetEscapedFlag(bool)
Definition:
TileEscapedEnergyProcessing.h:79
TileEscapedEnergyProcessing::SetEnergy5
void SetEnergy5(double)
Definition:
TileEscapedEnergyProcessing.h:82
VEscapedEnergyProcessing.h
TileEscapedEnergyProcessing::SetEscapedEnergy
void SetEscapedEnergy(double)
Definition:
TileEscapedEnergyProcessing.h:85
TileEscapedEnergyProcessing::~TileEscapedEnergyProcessing
virtual ~TileEscapedEnergyProcessing()
CaloG4::VEscapedEnergyProcessing
Virtual interface for escaped energy processor classes.
Definition:
VEscapedEnergyProcessing.h:43
TileEscapedEnergyProcessing::TileEscapedEnergyProcessing
TileEscapedEnergyProcessing()=delete
TileEscapedEnergyProcessing::TileEscapedEnergyProcessing
TileEscapedEnergyProcessing(const int verboseLevel)
TileEscapedEnergyProcessing::m_energy5
double m_energy5
Definition:
TileEscapedEnergyProcessing.h:74
TileEscapedEnergyProcessing::Call_SD_ProcessHits
G4bool Call_SD_ProcessHits(G4Step *aStep, G4String &SDname)
Generated on Fri Jan 10 2025 21:19:11 for ATLAS Offline Software by
1.8.18