ATLAS Offline Software
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 
36 
37 #include "G4TouchableHandle.hh"
38 #include "G4ThreeVector.hh"
39 #include "globals.hh"
40 
41 class G4Step;
42 
44 public:
45  TileEscapedEnergyProcessing(const int verboseLevel);
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:
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;
74  double m_energy5;
75  //int m_verboseLevel;
76 
77 };
78 
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 
90  return m_escaped;
91 }
93  return m_energy5;
94 }
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)