ATLAS Offline Software
LArCalorimeter
LArG4
LArG4EC
src
EMECSupportCalibrationCalculator.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::EMECSupport::CalibrationCalculator
6
// Prepared 9-Sep-2004 Mikhail Leltchouk
7
8
// This class calculates the values needed for calibration hits in the
9
// simulation.
10
11
// This particular class is meant to be be used for particular volumes
12
// in the endcap. Some volumes have identifiers that change
13
// significantly (mixed samplings, types, subdets) within that single
14
// volume. This calculator handles those special cases.
15
16
#ifndef LArG4_EMECSupport_CalibrationCalculator_H
17
#define LArG4_EMECSupport_CalibrationCalculator_H
18
19
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
20
#include "
LArG4Code/LArG4Identifier.h
"
21
#include "
LArGeoCode/VDetectorParameters.h
"
22
#include "
CryostatCalibrationLArCalculator.h
"
23
#include "
CaloG4Sim/SimulationEnergies.h
"
24
#include "globals.hh"
25
26
#include <vector>
27
28
// Forward declaractions:
29
class
G4Step;
30
31
// Note the use of nested namespaces (mainly to prevent long names).
32
// This class is contained in the namespace LArG4::EMECSupport.
33
34
namespace
LArG4
{
35
36
// namespace EMECSupport {
37
38
class
EMECSupportCalibrationCalculator
:
public
LArCalibCalculatorSvcImp
{
39
public
:
40
41
EMECSupportCalibrationCalculator
(
const
std::string&
name
, ISvcLocator *pSvcLocator);
42
EMECSupportCalibrationCalculator
(
const
EMECSupportCalibrationCalculator
&) =
delete
;
43
EMECSupportCalibrationCalculator
&
operator=
(
const
EMECSupportCalibrationCalculator
&) =
delete
;
44
StatusCode
initialize
() override final;
45
virtual ~
EMECSupportCalibrationCalculator
();
46
47
// The Process method returns a boolean value. If it's true, the
48
// hit can be used by Geant4; if it's false, there's something wrong
49
// with the energy deposit and it should be ignored.
50
51
// For calibration work, most of the time we want the calculator
52
// to determine both the energy and the identifier. However,
53
// sometimes we want it calculate only the identifier (for
54
// escaped energy), or only the energy (no known application
55
// yet, but you can never tell). Use the enum (defined in
56
// VCalibrationCalculator.h) to control any special processing.
57
58
virtual G4bool
Process
(
const
G4Step*
step
,
LArG4Identifier
&
identifier
,
59
std::
vector
<G4double> & energies,
60
const
eCalculatorProcessing
p
=
kEnergyAndID
)
const
override final;
61
62
private
:
63
64
// Energy calculator
65
CaloG4
::SimulationEnergies
m_energyCalculator
{};
66
67
class
Parameters
;
68
const
Parameters
*
m_par
{
nullptr
};
69
70
// Access to parameters.
71
//LArGeo::VDetectorParameters* m_parameters;
72
73
// Define a "backup" calculator.
74
ServiceHandle<ILArCalibCalculatorSvc>
m_backupCalculator
{
this
,
"BackupCalculator"
,
"EndcapCryostatCalibrationLArCalculator"
};
75
};
76
77
// } // namespace EMECSupport
78
79
}
// namespace LArG4
80
81
#endif // LArG4_EMECSupport_CalibrationCalculator_H
LArG4Identifier
Definition:
LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition:
LArCalibCalculatorSvcImp.h:12
LArG4::EMECSupportCalibrationCalculator
Definition:
EMECSupportCalibrationCalculator.h:38
MuonR4::SegmentFit::Parameters
AmgVector(toInt(ParamDefs::nPars)) Parameters
Definition:
MuonHoughDefs.h:48
LArG4::EMECSupportCalibrationCalculator::m_par
const Parameters * m_par
Definition:
EMECSupportCalibrationCalculator.h:68
LArG4::EMECSupportCalibrationCalculator::operator=
EMECSupportCalibrationCalculator & operator=(const EMECSupportCalibrationCalculator &)=delete
CryostatCalibrationLArCalculator.h
xAOD::identifier
identifier
Definition:
UncalibratedMeasurement_v1.cxx:15
const
bool const RAWDATA *ch2 const
Definition:
LArRodBlockPhysicsV0.cxx:560
LArG4
Definition:
LArWheelCalculatorEnums.h:8
LArG4::EMECSupportCalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
LArG4::EMECSupportCalibrationCalculator::initialize
StatusCode initialize() override final
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:209
LArCalibCalculatorSvcImp.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition:
MultiHisto.h:13
LArG4Identifier.h
CaloG4
Definition:
EscapedEnergyRegistry.h:21
LArG4::EMECSupportCalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition:
EMECSupportCalibrationCalculator.h:65
VDetectorParameters.h
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:240
LArG4::EMECSupportCalibrationCalculator::EMECSupportCalibrationCalculator
EMECSupportCalibrationCalculator(const EMECSupportCalibrationCalculator &)=delete
LArG4::EMECSupportCalibrationCalculator::m_backupCalculator
ServiceHandle< ILArCalibCalculatorSvc > m_backupCalculator
Definition:
EMECSupportCalibrationCalculator.h:74
LArG4::EMECSupportCalibrationCalculator::EMECSupportCalibrationCalculator
EMECSupportCalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArCellBinning.step
step
Definition:
LArCellBinning.py:158
private
#define private
Definition:
xAODTruthCnvAlg.h:20
LArG4::kEnergyAndID
@ kEnergyAndID
Definition:
LArG4EnumDefs.h:10
SimulationEnergies.h
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition:
LArG4EnumDefs.h:10
ServiceHandle< ILArCalibCalculatorSvc >
Generated on Tue Sep 2 2025 21:10:52 for ATLAS Offline Software by
1.8.18