ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4Barrel
src
LArBarrelCalibrationCalculator.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::Barrel::CalibrationCalculator
6
7
// This class calculates the values needed for calibration hits in the
8
// simulation.
9
10
#ifndef LArG4_Barrel_CalibrationCalculator_H
11
#define LArG4_Barrel_CalibrationCalculator_H
12
13
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
14
#include "
LArG4Code/LArG4Identifier.h
"
15
#include "
ILArBarrelGeometry.h
"
16
17
#include "
CaloG4Sim/SimulationEnergies.h
"
18
19
#include "globals.hh"
20
21
#include <vector>
22
23
// Forward declaractions:
24
class
G4Step;
25
26
// Note the use of nested namespaces (mainly to prevent long names
27
// like LArG4BarrelCalibrationCalculator). This class is contained in
28
// the namespace LArG4::Barrel.
29
30
namespace
LArG4
{
31
32
namespace
Barrel
{
33
34
class
CalibrationCalculator
:
public
LArCalibCalculatorSvcImp
{
35
public
:
36
37
CalibrationCalculator
(
const
std::string& name, ISvcLocator *pSvcLocator);
38
StatusCode
initialize
()
override
final
;
39
virtual
~CalibrationCalculator
() =
default
;
40
41
// The Process method returns a boolean value. If it's true, the
42
// hit can be used by Geant4; if it's false, there's something wrong
43
// with the energy deposit and it should be ignored.
44
45
// For calibration work, most of the time we want the calculator
46
// to determine both the energy and the identifier. However,
47
// sometimes we want it calculate only the identifier (for
48
// escaped energy), or only the energy (no known application
49
// yet, but you can never tell). Use the enum (defined in
50
// VCalibrationCalculator.h) to control any special processing.
51
52
virtual
G4bool
Process
(
const
G4Step* step,
53
LArG4Identifier
& identifier,
54
LArG4Identifier
& identifier_sr,
55
std::vector<double>& energies,
56
const
LArG4::eCalculatorProcessing
process
)
const
override
final
;
57
58
private
:
59
// Geometry calculator
60
ServiceHandle<ILArBarrelGeometry>
m_geometryCalculator
{
this
,
"GeometryCalculator"
,
"LArBarrelGeometry"
};
61
Gaudi::Property<bool>
m_calculateSuperResolutionIdentifier
{
this
,
"calculateSuperResolutionIdentifier"
,
false
};
62
63
// Energy calculator
64
CaloG4::SimulationEnergies
m_energyCalculator
{};
65
};
66
67
}
// namespace Barrel
68
69
}
// namespace LArG4
70
71
#endif
// LArG4_Barrel_CalibrationCalculator_H
ILArBarrelGeometry.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::Barrel::CalibrationCalculator::m_geometryCalculator
ServiceHandle< ILArBarrelGeometry > m_geometryCalculator
Definition
LArBarrelCalibrationCalculator.h:60
LArG4::Barrel::CalibrationCalculator::m_calculateSuperResolutionIdentifier
Gaudi::Property< bool > m_calculateSuperResolutionIdentifier
Definition
LArBarrelCalibrationCalculator.h:61
LArG4::Barrel::CalibrationCalculator::initialize
StatusCode initialize() override final
Definition
LArBarrelCalibrationCalculator.cxx:41
LArG4::Barrel::CalibrationCalculator::~CalibrationCalculator
virtual ~CalibrationCalculator()=default
LArG4::Barrel::CalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, LArG4Identifier &identifier_sr, std::vector< double > &energies, const LArG4::eCalculatorProcessing process) const override final
LArG4::Barrel::CalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition
LArBarrelCalibrationCalculator.h:64
LArG4::Barrel::CalibrationCalculator::CalibrationCalculator
CalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArBarrelCalibrationCalculator.cxx:36
ServiceHandle
Definition
ClusterMakerTool.h:36
process
const std::string process
Definition
fbtTestBasics.cxx:76
LArG4::Barrel
Definition
ILArBarrelGeometry.h:23
LArG4
Definition
LArWheelCalculatorEnums.h:8
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition
LArG4EnumDefs.h:10
Generated on
for ATLAS Offline Software by
1.17.0