ATLAS Offline Software
LArCalorimeter
LArG4
LArG4Barrel
src
LArG4Barrel/src/CryostatCalibrationLArCalculator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArG4::BarrelCryostat::CalibrationLArCalculator
6
// Prepared 13-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 barrel 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_BarrelCryostat_CalibrationLArCalculator_H
22
#define LArG4_BarrelCryostat_CalibrationLArCalculator_H
23
24
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
25
#include "
LArG4Code/LArG4Identifier.h
"
26
#include "
LArG4Code/LArVG4DetectorParameters.h
"
27
28
#include "
CaloG4Sim/SimulationEnergies.h
"
29
30
#include "globals.hh"
31
32
#include <vector>
33
34
// Forward declaractions:
35
class
G4Step;
36
37
38
// Note the use of nested namespaces (mainly to prevent long names
39
// like LArG4HECCalibrationCalculator). This class is contained in
40
// the namespace LArG4::BarrelCryostat.
41
42
namespace
LArG4
{
43
44
namespace
BarrelCryostat {
45
46
class
CalibrationLArCalculator
:
public
LArCalibCalculatorSvcImp
{
47
public
:
48
49
CalibrationLArCalculator
(
const
std::string&
name
, ISvcLocator *pSvcLocator);
50
StatusCode
initialize
()
override
final
;
51
virtual
~CalibrationLArCalculator
();
52
53
// The Process method returns a boolean value. If it's true, the
54
// hit can be used by Geant4; if it's false, there's something wrong
55
// with the energy deposit and it should be ignored.
56
57
// For calibration work, most of the time we want the calculator
58
// to determine both the energy and the identifier. However,
59
// sometimes we want it calculate only the identifier (for
60
// escaped energy), or only the energy (no known application
61
// yet, but you can never tell). Use the enum (defined in
62
// VCalibrationCalculator.h) to control any special processing.
63
virtual
G4bool
Process
(
const
G4Step*
step
,
LArG4Identifier
&
identifier
,
64
std::vector<G4double> & energies,
65
const
eCalculatorProcessing
process
=
kEnergyAndID
)
const
override
final
;
66
67
private
:
68
// Energy calculator
69
CaloG4::SimulationEnergies
m_energyCalculator
;
70
71
// Access to parameters.
72
const
LArVG4DetectorParameters
*
m_parameters
;
73
74
ServiceHandle<ILArCalibCalculatorSvc>
m_defaultCalculator
;
75
76
};
77
78
}
// namespace BarrelCryostat
79
80
}
// namespace LArG4
81
82
#endif // LArG4_BarrelCryostat_CalibrationLArCalculator_H
LArG4Identifier
Definition:
LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition:
LArCalibCalculatorSvcImp.h:12
LArGeo::VDetectorParameters
Definition:
VDetectorParameters.h:29
CaloG4::SimulationEnergies
Definition:
SimulationEnergies.h:47
LArVG4DetectorParameters.h
LArG4::BarrelCryostat::CalibrationLArCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing process=kEnergyAndID) const override final
Definition:
CryostatCalibrationLArCalculator.cxx:65
xAOD::identifier
identifier
Definition:
UncalibratedMeasurement_v1.cxx:15
LArG4
Definition:
LArWheelCalculatorEnums.h:8
SUSY_SimplifiedModel_PostInclude.process
string process
Definition:
SUSY_SimplifiedModel_PostInclude.py:42
LArG4::BarrelCryostat::CalibrationLArCalculator::~CalibrationLArCalculator
virtual ~CalibrationLArCalculator()
Definition:
CryostatCalibrationLArCalculator.cxx:58
LArCalibCalculatorSvcImp.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4::BarrelCryostat::CalibrationLArCalculator
Definition:
LArG4Barrel/src/CryostatCalibrationLArCalculator.h:46
LArG4::BarrelCryostat::CalibrationLArCalculator::initialize
StatusCode initialize() override final
Definition:
CryostatCalibrationLArCalculator.cxx:48
LArG4Identifier.h
LArG4::BarrelCryostat::CalibrationLArCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition:
LArG4Barrel/src/CryostatCalibrationLArCalculator.h:69
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
LArG4::BarrelCryostat::CalibrationLArCalculator::m_parameters
const LArVG4DetectorParameters * m_parameters
Definition:
LArG4Barrel/src/CryostatCalibrationLArCalculator.h:72
LArG4::BarrelCryostat::CalibrationLArCalculator::m_defaultCalculator
ServiceHandle< ILArCalibCalculatorSvc > m_defaultCalculator
Definition:
LArG4Barrel/src/CryostatCalibrationLArCalculator.h:74
LArG4::BarrelCryostat::CalibrationLArCalculator::CalibrationLArCalculator
CalibrationLArCalculator(const std::string &name, ISvcLocator *pSvcLocator)
Definition:
CryostatCalibrationLArCalculator.cxx:40
LArCellBinning.step
step
Definition:
LArCellBinning.py:158
LArG4::kEnergyAndID
@ kEnergyAndID
Definition:
LArG4EnumDefs.h:10
SimulationEnergies.h
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition:
LArG4EnumDefs.h:10
ServiceHandle< ILArCalibCalculatorSvc >
Generated on Fri Jan 10 2025 21:08:42 for ATLAS Offline Software by
1.8.18