ATLAS Offline Software
LArCalorimeter
LArG4
LArG4EC
src
LArG4EC/src/CryostatCalibrationMixedCalculator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArG4::EndcapCryostat::CalibrationMixedCalculator
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 particular volumes
17
// in the endcap cryostat. Some volumes have identifiers that change
18
// significantly (mixed samplings, types, subdets) within that single
19
// volume. This calculator handles those special cases.
20
21
#ifndef LArG4_EndcapCryostat_CalibrationMixedCalculator_H
22
#define LArG4_EndcapCryostat_CalibrationMixedCalculator_H
23
24
#include "
LArG4Code/LArCalibCalculatorSvcImp.h
"
25
#include "
LArG4Code/LArG4Identifier.h
"
26
#include "
CaloG4Sim/SimulationEnergies.h
"
27
#include "globals.hh"
28
29
#include <vector>
30
31
// Forward declaractions:
32
class
G4Step;
33
34
// Note the use of nested namespaces (mainly to prevent long names
35
// like LArG4HECCalibrationCalculator). This class is contained in
36
// the namespace LArG4::EndcapCryostat.
37
38
namespace
LArG4
{
39
40
namespace
EndcapCryostat {
41
42
class
CalibrationMixedCalculator
:
public
LArCalibCalculatorSvcImp
{
43
public
:
44
45
CalibrationMixedCalculator
(
const
std::string&
name
, ISvcLocator *pSvcLocator);
46
StatusCode
initialize
() override final;
47
virtual ~
CalibrationMixedCalculator
();
48
49
// The Process method returns a boolean value. If it's true, the
50
// hit can be used by Geant4; if it's false, there's something wrong
51
// with the energy deposit and it should be ignored.
52
53
// For calibration work, most of the time we want the calculator
54
// to determine both the energy and the identifier. However,
55
// sometimes we want it calculate only the identifier (for
56
// escaped energy), or only the energy (no known application
57
// yet, but you can never tell). Use the enum (defined in
58
// VCalibrationCalculator.h) to control any special processing.
59
60
virtual G4bool
Process
(
const
G4Step*
step
,
LArG4Identifier
&
identifier
,
61
std::
vector
<G4double> & energies,
62
const
eCalculatorProcessing
p
=
kEnergyAndID
)
const
override final;
63
64
private
:
65
66
// Energy calculator
67
CaloG4
::SimulationEnergies
m_energyCalculator
;
68
69
class
Parameters
;
70
Parameters
*
m_par
;
71
72
// Define a "backup" calculator.
73
ServiceHandle
<
ILArCalibCalculatorSvc
>
m_backupCalculator
;
74
75
CalibrationMixedCalculator
(
const
CalibrationMixedCalculator
&);
76
CalibrationMixedCalculator
& operator= (
const
CalibrationMixedCalculator
&);
77
};
78
79
}
// namespace EndcapCryostat
80
81
}
// namespace LArG4
82
83
#endif // LArG4_EndcapCryostat_CalibrationMixedCalculator_H
LArG4Identifier
Definition:
LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition:
LArCalibCalculatorSvcImp.h:12
MuonR4::SegmentFit::Parameters
AmgVector(toInt(ParamDefs::nPars)) Parameters
Definition:
MuonHoughDefs.h:48
LArG4::EndcapCryostat::CalibrationMixedCalculator::CalibrationMixedCalculator
CalibrationMixedCalculator(const std::string &name, ISvcLocator *pSvcLocator)
xAOD::identifier
identifier
Definition:
UncalibratedMeasurement_v1.cxx:15
const
bool const RAWDATA *ch2 const
Definition:
LArRodBlockPhysicsV0.cxx:560
LArG4::EndcapCryostat::CalibrationMixedCalculator::m_par
Parameters * m_par
Definition:
LArG4EC/src/CryostatCalibrationMixedCalculator.h:69
LArG4
Definition:
LArWheelCalculatorEnums.h:8
LArG4::EndcapCryostat::CalibrationMixedCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
LArG4::EndcapCryostat::CalibrationMixedCalculator::m_backupCalculator
ServiceHandle< ILArCalibCalculatorSvc > m_backupCalculator
Definition:
LArG4EC/src/CryostatCalibrationMixedCalculator.h:73
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:210
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::EndcapCryostat::CalibrationMixedCalculator
Definition:
LArG4EC/src/CryostatCalibrationMixedCalculator.h:42
LArG4::EndcapCryostat::CalibrationMixedCalculator::initialize
StatusCode initialize() override final
private
#define private
Definition:
DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:221
ILArCalibCalculatorSvc
Definition:
ILArCalibCalculatorSvc.h:23
LArG4::EndcapCryostat::CalibrationMixedCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition:
LArG4EC/src/CryostatCalibrationMixedCalculator.h:67
LArCellBinning.step
step
Definition:
LArCellBinning.py:158
LArG4::kEnergyAndID
@ kEnergyAndID
Definition:
LArG4EnumDefs.h:10
SimulationEnergies.h
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition:
LArG4EnumDefs.h:10
ServiceHandle
Definition:
ClusterMakerTool.h:37
Generated on Thu Nov 7 2024 21:12:47 for ATLAS Offline Software by
1.8.18