ATLAS Offline Software
LArG4Barrel/src/PresamplerCalibrationCalculator.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::BarrelPreampler::CalibrationCalculator
6 
7 // This class calculates the values needed for calibration hits in the
8 // simulation.
9 
10 #ifndef LArG4_BarrelPresampler_CalibrationCalculator_H
11 #define LArG4_BarrelPresampler_CalibrationCalculator_H
12 
16 
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 // Forward declaration for namespace CaloG4.
31 
32 namespace LArG4 {
33 
34  namespace BarrelPresampler {
35 
36  // Forward declaration
37  class Geometry;
38 
40  public:
41 
42  CalibrationCalculator(const std::string& name, ISvcLocator *pSvcLocator);
43  StatusCode initialize() override final;
44  virtual ~CalibrationCalculator();
45 
46  // The Process method returns a boolean value. If it's true, the
47  // hit can be used by Geant4; if it's false, there's something wrong
48  // with the energy deposit and it should be ignored.
49 
50  // For calibration work, most of the time we want the calculator
51  // to determine both the energy and the identifier. However,
52  // sometimes we want it calculate only the identifier (for
53  // escaped energy), or only the energy (no known application
54  // yet, but you can never tell). Use the enum (defined in
55  // VCalibrationCalculator.h) to control any special processing.
56 
57  virtual G4bool Process (const G4Step* step, LArG4Identifier & identifier,
58  std::vector<G4double> & energies,
59  const eCalculatorProcessing process = kEnergyAndID) const override final;
60 
61  private:
62  // Geometry calculator
64 
65  // Energy calculator
67 
68  };
69 
70  } // namespace BarrelPresampler
71 
72 } // namespace LArG4
73 
74 #endif // LArG4_Barrel_CalibrationCalculator_H
LArG4::BarrelPresampler::CalibrationCalculator::CalibrationCalculator
CalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PresamplerCalibrationCalculator.cxx:68
LArG4Identifier
Definition: LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition: LArCalibCalculatorSvcImp.h:12
LArG4::BarrelPresampler::CalibrationCalculator
Definition: LArG4Barrel/src/PresamplerCalibrationCalculator.h:39
CaloG4::SimulationEnergies
Definition: SimulationEnergies.h:47
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
LArG4
Definition: LArWheelCalculatorEnums.h:8
SUSY_SimplifiedModel_PostInclude.process
string process
Definition: SUSY_SimplifiedModel_PostInclude.py:42
LArG4::BarrelPresampler::CalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition: LArG4Barrel/src/PresamplerCalibrationCalculator.h:66
egEnergyCorr::Geometry
Geometry
Definition: egammaEnergyCorrectionTool.h:336
LArCalibCalculatorSvcImp.h
LArG4::BarrelPresampler::CalibrationCalculator::initialize
StatusCode initialize() override final
Definition: PresamplerCalibrationCalculator.cxx:75
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4Identifier.h
LArG4::BarrelPresampler::CalibrationCalculator::~CalibrationCalculator
virtual ~CalibrationCalculator()
Definition: PresamplerCalibrationCalculator.cxx:81
LArG4::BarrelPresampler::CalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing process=kEnergyAndID) const override final
Definition: PresamplerCalibrationCalculator.cxx:85
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArCellBinning.step
step
Definition: LArCellBinning.py:158
LArG4::kEnergyAndID
@ kEnergyAndID
Definition: LArG4EnumDefs.h:10
SimulationEnergies.h
LArG4::BarrelPresampler::CalibrationCalculator::m_geometryCalculator
ServiceHandle< ILArBarrelPresamplerGeometry > m_geometryCalculator
Definition: LArG4Barrel/src/PresamplerCalibrationCalculator.h:63
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition: LArG4EnumDefs.h:10
ServiceHandle< ILArBarrelPresamplerGeometry >
ILArBarrelPresamplerGeometry.h