ATLAS Offline Software
Loading...
Searching...
No Matches
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
41class G4Step;
42
44public:
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
66private:
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
74 double m_energy5;
75 //int m_verboseLevel;
76
77};
78
80 m_escaped = escaped;
81}
83 m_energy5 = ene5;
84}
85inline void TileEscapedEnergyProcessing::SetEscapedEnergy(double escapedEnergy) {
86 m_escapedEnergy = escapedEnergy;
87}
88
93 return m_energy5;
94}
98
99#endif // TILEGEOG4CALIB_TILEESCAPEDENERGYPROCESSING_H
Virtual interface for escaped energy processor classes.
TileEscapedEnergyProcessing(const int verboseLevel)
virtual G4bool Process(G4Step *fakeStep)
G4bool Call_SD_ProcessHits(G4Step *aStep, G4String &SDname)
virtual ~TileEscapedEnergyProcessing()