ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4EC
src
LArG4EC/src/CryostatCalibrationLArCalculator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArG4::EndcapCryostat::CalibrationLArCalculator
6
// Prepared 19-Aug-2004 Bill Seligman
7
8
// This class calculates the values needed for calibration hits in the
9
// simulation.
10
11
// A "calculator" is used in much the same way as a hand-held
12
// calculator might be. The user supplies a value and hits 'Enter'
13
// (i.e., invokes the Process() method). Then they read off whatever
14
// values are of interest.
15
16
// This particular class is meant to be be used for general LAr
17
// regions within the endcap cryostat. The liquid-argon volumes
18
// typically "fill in the cracks" between all other volumes; this
19
// calculator determines the identifiers for such "cracks".
20
21
#ifndef LArG4_EndcapCryostat_CalibrationLArCalculator_H
22
#define LArG4_EndcapCryostat_CalibrationLArCalculator_H
23
24
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
25
#include "
LArG4Code/LArG4Identifier.h
"
26
#include "
LArG4Code/LArVG4DetectorParameters.h
"
27
#include "
CaloG4Sim/SimulationEnergies.h
"
28
29
#include "globals.hh"
30
31
#include <vector>
32
33
// Forward declaractions:
34
class
G4Step;
35
36
// Note the use of nested namespaces (mainly to prevent long names
37
// like LArG4HECCalibrationCalculator). This class is contained in
38
// the namespace LArG4::EndcapCryostat.
39
40
namespace
LArG4
{
41
42
namespace
EndcapCryostat
{
43
44
class
CalibrationLArCalculator
:
public
LArCalibCalculatorSvcImp
{
45
public
:
46
47
CalibrationLArCalculator
(
const
std::string& name, ISvcLocator *pSvcLocator);
48
StatusCode
initialize
() override final;
49
virtual ~
CalibrationLArCalculator
() = default;
50
51
// The Process method returns a boolean value. If it's true, the
52
// hit can be used by Geant4; if it's false, there's something wrong
53
// with the energy deposit and it should be ignored.
54
55
// For calibration work, most of the time we want the calculator
56
// to determine both the energy and the identifier. However,
57
// sometimes we want it calculate only the identifier (for
58
// escaped energy), or only the energy (no known application
59
// yet, but you can never tell). Use the enum (defined in
60
// VCalibrationCalculator.h) to control any special processing.
61
62
virtual G4bool
Process
(
const
G4Step* step,
LArG4Identifier
& identifier,
63
LArG4Identifier
& identifier_sr,
64
std
::
vector
<G4double> & energies,
65
const
eCalculatorProcessing
p =
kEnergyAndID
)
const
override final;
66
67
private
:
68
69
// Energy calculator
70
CaloG4
::SimulationEnergies
m_energyCalculator
{};
71
72
// Access to parameters.
73
const
LArVG4DetectorParameters
*
m_parameters
{
nullptr
};
74
75
// For the default calculator (hopefully temporary).
76
ServiceHandle<ILArCalibCalculatorSvc>
m_defaultCalculator
{
this
,
"CalibrationDefaultCalculator"
,
"CalibrationDefaultCalculator"
};
77
78
double
m_rhoOutOfEmecHec
{0.};
// used as const after init
79
double
m_zInFrontOfPresampler
{0.};
// used as const after init
80
double
m_zEMECRefPoint
{0.};
// used as const after init
81
double
m_zInFrontOfSpanishFan
{0.};
// used as const after init
82
double
m_zInFrontOfHEC
{0.};
// used as const after init
83
double
m_zBehindTile
{0.};
// used as const after init
84
double
m_endZHEC1Wheel
{0.};
// used as const after init
85
double
m_startZHEC2Wheel
{0.};
// used as const after init
86
inline
double
rhoOutOfEmecHec
()
const
{
return
m_rhoOutOfEmecHec
; };
87
inline
double
zInFrontOfPresampler
()
const
{
return
m_zInFrontOfPresampler
; };
88
inline
double
zEMECRefPoint
()
const
{
return
m_zEMECRefPoint
; };
89
inline
double
zInFrontOfSpanishFan
()
const
{
return
m_zInFrontOfSpanishFan
; };
90
inline
double
zInFrontOfHEC
()
const
{
return
m_zInFrontOfHEC
; };
91
inline
double
zBehindTile
()
const
{
return
m_zBehindTile
; };
92
inline
double
endZHEC1Wheel
()
const
{
return
m_endZHEC1Wheel
; };
93
inline
double
startZHEC2Wheel
()
const
{
return
m_startZHEC2Wheel
; };
94
};
95
96
}
// namespace EndcapCryostat
97
98
}
// namespace LArG4
99
100
#endif
// LArG4_EndcapCryostat_CalibrationLArCalculator_H
LArCalibCalculatorSvcImp.h
LArG4Identifier.h
LArVG4DetectorParameters.h
LArVG4DetectorParameters
LArGeo::VDetectorParameters LArVG4DetectorParameters
Definition
LArVG4DetectorParameters.h:19
SimulationEnergies.h
LArCalibCalculatorSvcImp::LArCalibCalculatorSvcImp
LArCalibCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCalibCalculatorSvcImp.cxx:7
LArG4Identifier
Definition
LArG4Identifier.h:121
LArG4::EndcapCryostat::CalibrationLArCalculator::m_zInFrontOfHEC
double m_zInFrontOfHEC
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:82
LArG4::EndcapCryostat::CalibrationLArCalculator::m_zEMECRefPoint
double m_zEMECRefPoint
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:80
LArG4::EndcapCryostat::CalibrationLArCalculator::m_rhoOutOfEmecHec
double m_rhoOutOfEmecHec
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:78
LArG4::EndcapCryostat::CalibrationLArCalculator::m_defaultCalculator
ServiceHandle< ILArCalibCalculatorSvc > m_defaultCalculator
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:76
LArG4::EndcapCryostat::CalibrationLArCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, LArG4Identifier &identifier_sr, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
LArG4::EndcapCryostat::CalibrationLArCalculator::m_parameters
const LArVG4DetectorParameters * m_parameters
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:73
LArG4::EndcapCryostat::CalibrationLArCalculator::endZHEC1Wheel
double endZHEC1Wheel() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:92
LArG4::EndcapCryostat::CalibrationLArCalculator::zBehindTile
double zBehindTile() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:91
LArG4::EndcapCryostat::CalibrationLArCalculator::m_zInFrontOfSpanishFan
double m_zInFrontOfSpanishFan
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:81
LArG4::EndcapCryostat::CalibrationLArCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:70
LArG4::EndcapCryostat::CalibrationLArCalculator::m_zInFrontOfPresampler
double m_zInFrontOfPresampler
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:79
LArG4::EndcapCryostat::CalibrationLArCalculator::initialize
StatusCode initialize() override final
LArG4::EndcapCryostat::CalibrationLArCalculator::startZHEC2Wheel
double startZHEC2Wheel() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:93
LArG4::EndcapCryostat::CalibrationLArCalculator::zEMECRefPoint
double zEMECRefPoint() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:88
LArG4::EndcapCryostat::CalibrationLArCalculator::CalibrationLArCalculator
CalibrationLArCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArG4::EndcapCryostat::CalibrationLArCalculator::zInFrontOfSpanishFan
double zInFrontOfSpanishFan() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:89
LArG4::EndcapCryostat::CalibrationLArCalculator::zInFrontOfHEC
double zInFrontOfHEC() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:90
LArG4::EndcapCryostat::CalibrationLArCalculator::m_startZHEC2Wheel
double m_startZHEC2Wheel
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:85
LArG4::EndcapCryostat::CalibrationLArCalculator::zInFrontOfPresampler
double zInFrontOfPresampler() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:87
LArG4::EndcapCryostat::CalibrationLArCalculator::rhoOutOfEmecHec
double rhoOutOfEmecHec() const
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:86
LArG4::EndcapCryostat::CalibrationLArCalculator::m_zBehindTile
double m_zBehindTile
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:83
LArG4::EndcapCryostat::CalibrationLArCalculator::m_endZHEC1Wheel
double m_endZHEC1Wheel
Definition
LArG4EC/src/CryostatCalibrationLArCalculator.h:84
ServiceHandle
Definition
ClusterMakerTool.h:36
vector
Definition
MultiHisto.h:13
const
CaloG4
Definition
EscapedEnergyRegistry.h:21
LArG4::EndcapCryostat
Definition
LArG4EC/src/CryostatCalibrationCalculator.h:42
LArG4
Definition
LArWheelCalculatorEnums.h:8
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition
LArG4EnumDefs.h:10
LArG4::kEnergyAndID
@ kEnergyAndID
Definition
LArG4EnumDefs.h:10
std
STL namespace.
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0