ATLAS Offline Software
LArCalorimeter
LArG4
LArG4FCAL
src
LArFCALCalibCalculatorBase.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::FCAL::LArFCALCalibCalculator
6
// Prepared Oct./2004 Mohsen Khakzad
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
// Forward declaractions:
14
// (i.e., invokes the Process() method). Then they read off whatever
15
// values are of interest.
16
17
#ifndef LArFCALCalibCalculatorBase_H
18
#define LArFCALCalibCalculatorBase_H
19
20
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
21
#include "
LArG4Code/LArG4Identifier.h
"
22
23
//#include "LArG4FCAL/LArFCALCalculatorBase.h"
24
25
#include "
CaloG4Sim/SimulationEnergies.h
"
26
27
#include "globals.hh"
28
#include <vector>
29
// Forward declaration for namespace CaloG4.
30
class
G4Step;
31
class
FCAL_ChannelMap
;
32
33
namespace
LArG4
{
34
35
namespace
FCAL
{
36
37
class
LArFCALCalibCalculatorBase
:
public
LArCalibCalculatorSvcImp
{
38
public
:
39
LArFCALCalibCalculatorBase
(
const
std::string&
name
, ISvcLocator *pSvcLocator);
40
virtual
StatusCode
initialize
()
override
;
41
virtual
~LArFCALCalibCalculatorBase
() =
default
;
42
43
// The Process method returns a boolean value. If it's true, the
44
// hit can be used by Geant4; if it's false, there's something wrong
45
// with the energy deposit and it should be ignored.
46
47
// For calibration work, most of the time we want the calculator
48
// to determine both the energy and the identifier. However,
49
// sometimes we want it calculate only the identifier (for
50
// escaped energy), or only the energy (no known application
51
// yet, but you can never tell). Use the enum (defined in
52
// VCalibrationCalculator.h) to control any special processing.
53
54
virtual
G4bool
Process
(
const
G4Step*
step
,
LArG4Identifier
&
identifier
,
55
std::vector<G4double> & energies,
56
const
eCalculatorProcessing
process
=
kEnergyAndID
)
const
override
final
;
57
59
virtual
G4double
GetdeltaX
(){
return
m_deltaX
;}
//FIXME public but not part of interface class
60
virtual
G4double
GetdeltaY
(){
return
m_deltaY
;}
//FIXME public but not part of interface class
61
62
protected
:
63
Gaudi::Property<G4double>
m_deltaX
{
this
,
"FCALdeltaX"
, 0.};
64
Gaudi::Property<G4double>
m_deltaY
{
this
,
"FCALdeltaY"
, 0.};
65
66
Gaudi::Property<G4int>
m_FCalSampling
{
this
,
"FCALSampling"
, 0};
67
68
private
:
69
// Energy calculator
70
CaloG4::SimulationEnergies
m_energyCalculator
{};
71
72
G4float
m_zShift
{0.f};
73
74
FCAL_ChannelMap
*
m_ChannelMap
{
nullptr
};
75
};
76
}
// namespace FCAL
77
78
}
// namespace LArG4
79
80
#endif // LArG4_HEC_CalibrationCalculator_H
LArG4Identifier
Definition:
LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition:
LArCalibCalculatorSvcImp.h:12
FCAL_ChannelMap
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
Definition:
LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCAL_ChannelMap.h:34
CaloG4::SimulationEnergies
Definition:
SimulationEnergies.h:47
LArG4::FCAL::LArFCALCalibCalculatorBase::initialize
virtual StatusCode initialize() override
xAOD::identifier
identifier
Definition:
UncalibratedMeasurement_v1.cxx:15
LArG4::FCAL::LArFCALCalibCalculatorBase::m_zShift
G4float m_zShift
Definition:
LArFCALCalibCalculatorBase.h:72
LArG4
Definition:
LArWheelCalculatorEnums.h:8
SUSY_SimplifiedModel_PostInclude.process
string process
Definition:
SUSY_SimplifiedModel_PostInclude.py:43
LArG4::FCAL::LArFCALCalibCalculatorBase::GetdeltaY
virtual G4double GetdeltaY()
Definition:
LArFCALCalibCalculatorBase.h:60
LArCalibCalculatorSvcImp.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4::FCAL::LArFCALCalibCalculatorBase::GetdeltaX
virtual G4double GetdeltaX()
Definition:
LArFCALCalibCalculatorBase.h:59
LArG4::FCAL::LArFCALCalibCalculatorBase::m_FCalSampling
Gaudi::Property< G4int > m_FCalSampling
Definition:
LArFCALCalibCalculatorBase.h:66
LArG4::FCAL::LArFCALCalibCalculatorBase::~LArFCALCalibCalculatorBase
virtual ~LArFCALCalibCalculatorBase()=default
LArG4Identifier.h
LArG4::FCAL::LArFCALCalibCalculatorBase::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing process=kEnergyAndID) const override final
LArG4::FCAL::LArFCALCalibCalculatorBase::m_ChannelMap
FCAL_ChannelMap * m_ChannelMap
Definition:
LArFCALCalibCalculatorBase.h:74
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:240
LArG4::FCAL::LArFCALCalibCalculatorBase
Definition:
LArFCALCalibCalculatorBase.h:37
LArG4::FCAL::LArFCALCalibCalculatorBase::m_deltaY
Gaudi::Property< G4double > m_deltaY
Definition:
LArFCALCalibCalculatorBase.h:64
LArSamples::FCAL
@ FCAL
Definition:
CaloId.h:26
LArG4::FCAL::LArFCALCalibCalculatorBase::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition:
LArFCALCalibCalculatorBase.h:70
LArG4::FCAL::LArFCALCalibCalculatorBase::LArFCALCalibCalculatorBase
LArFCALCalibCalculatorBase(const std::string &name, ISvcLocator *pSvcLocator)
LArCellBinning.step
step
Definition:
LArCellBinning.py:158
LArG4::kEnergyAndID
@ kEnergyAndID
Definition:
LArG4EnumDefs.h:10
SimulationEnergies.h
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition:
LArG4EnumDefs.h:10
LArG4::FCAL::LArFCALCalibCalculatorBase::m_deltaX
Gaudi::Property< G4double > m_deltaX
Definition:
LArFCALCalibCalculatorBase.h:63
Generated on Mon Sep 29 2025 21:13:42 for ATLAS Offline Software by
1.8.18