ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4EC
src
LArG4EC/src/PresamplerCalibrationCalculator.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::EC::PresamplerCalibrationCalculator
6
// Prepared 17-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
#ifndef LArG4_EC_PresamplerCalibrationCalculator_H
17
#define LArG4_EC_PresamplerCalibrationCalculator_H
18
19
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
20
#include "
LArG4Code/LArG4Identifier.h
"
21
#include "
CaloG4Sim/SimulationEnergies.h
"
22
23
#include "globals.hh"
24
25
#include <vector>
26
27
// Forward declaractions:
28
class
G4Step;
29
30
// Note the use of nested namespaces (mainly to prevent long names
31
// like LArG4HECPresamplerCalibrationCalculator). This class is contained in
32
// the namespace LArG4::EC.
33
34
namespace
LArG4
{
35
36
// Forward declaration
37
class
IECPresamplerGeometry
;
38
39
namespace
EC
{
40
41
class
PresamplerCalibrationCalculator
:
public
LArCalibCalculatorSvcImp
{
42
public
:
43
44
PresamplerCalibrationCalculator
(
const
std::string& name, ISvcLocator *pSvcLocator);
45
StatusCode
initialize
() override final;
46
virtual ~
PresamplerCalibrationCalculator
() = default;
47
48
// The Process method returns a boolean value. If it's true, the
49
// hit can be used by Geant4; if it's false, there's something wrong
50
// with the energy deposit and it should be ignored.
51
52
// For calibration work, most of the time we want the calculator
53
// to determine both the energy and the identifier. However,
54
// sometimes we want it calculate only the identifier (for
55
// escaped energy), or only the energy (no known application
56
// yet, but you can never tell). Use the enum (defined in
57
// VCalibrationCalculator.h) to control any special processing.
58
59
60
virtual G4bool
Process
(
const
G4Step* step,
LArG4Identifier
& identifier,
61
LArG4Identifier
& identifier_sr,
62
std
::
vector
<G4double> & energies,
63
const
eCalculatorProcessing
p =
kEnergyAndID
)
const
override final;
64
65
private
:
66
67
// Geometry calculator
68
ServiceHandle
<
IECPresamplerGeometry
>
m_geometryCalculator
{
this
,
"GeometryCalculator"
,
"EMECPresamplerGeometry"
};
69
70
// Energy calculator
71
CaloG4::SimulationEnergies
m_energyCalculator
{};
72
};
73
74
}
// namespace EC
75
76
}
// namespace LArG4
77
78
#endif
// LArG4_EC_PresamplerCalibrationCalculator_H
LArCalibCalculatorSvcImp.h
LArG4Identifier.h
SimulationEnergies.h
CaloG4::SimulationEnergies
This class implements the calculations requires to categorize the energies deposited during the simul...
Definition
SimulationEnergies.h:47
LArCalibCalculatorSvcImp::LArCalibCalculatorSvcImp
LArCalibCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCalibCalculatorSvcImp.cxx:7
LArG4Identifier
Definition
LArG4Identifier.h:121
LArG4::EC::PresamplerCalibrationCalculator::PresamplerCalibrationCalculator
PresamplerCalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArG4::EC::PresamplerCalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition
LArG4EC/src/PresamplerCalibrationCalculator.h:71
LArG4::EC::PresamplerCalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, LArG4Identifier &identifier_sr, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
LArG4::EC::PresamplerCalibrationCalculator::m_geometryCalculator
ServiceHandle< IECPresamplerGeometry > m_geometryCalculator
Definition
LArG4EC/src/PresamplerCalibrationCalculator.h:68
LArG4::EC::PresamplerCalibrationCalculator::initialize
StatusCode initialize() override final
LArG4::IECPresamplerGeometry
Definition
IECPresamplerGeometry.h:20
ServiceHandle
Definition
ClusterMakerTool.h:36
vector
Definition
MultiHisto.h:13
const
LArG4::EC
Definition
PresamplerGeometry.h:33
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
xAODTruthCnvAlg.h:20
Generated on
for ATLAS Offline Software by
1.16.1