ATLAS Offline Software
LArG4EC/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::EC::PresamplerCalibrationCalculator
6 // Prepared 17-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 #ifndef LArG4_EC_PresamplerCalibrationCalculator_H
17 #define LArG4_EC_PresamplerCalibrationCalculator_H
18 
22 
23 #include "globals.hh"
24 
25 #include <vector>
26 
27 // Forward declaractions:
28 class G4Step;
29 
30 // Note the use of nested namespaces (mainly to prevent long names
31 // like LArG4HECPresamplerCalibrationCalculator). This class is contained in
32 // the namespace LArG4::EC.
33 
34 namespace LArG4 {
35 
36  // Forward declaration
37  class IECPresamplerGeometry;
38 
39  namespace EC {
40 
42  public:
43 
44  PresamplerCalibrationCalculator(const std::string& name, ISvcLocator *pSvcLocator);
45  StatusCode initialize() override final;
47 
48  // The Process method returns a boolean value. If it's true, the
49  // hit can be used by Geant4; if it's false, there's something wrong
50  // with the energy deposit and it should be ignored.
51 
52  // For calibration work, most of the time we want the calculator
53  // to determine both the energy and the identifier. However,
54  // sometimes we want it calculate only the identifier (for
55  // escaped energy), or only the energy (no known application
56  // yet, but you can never tell). Use the enum (defined in
57  // VCalibrationCalculator.h) to control any special processing.
58 
59 
60  virtual G4bool Process (const G4Step* step, LArG4Identifier & identifier,
61  std::vector<G4double> & energies,
63 
64  private:
65 
66  // Geometry calculator
68 
69  // Energy calculator
70  CaloG4::SimulationEnergies m_energyCalculator;
71 
72  };
73 
74  } // namespace EC
75 
76 } // namespace LArG4
77 
78 #endif // LArG4_EC_PresamplerCalibrationCalculator_H
LArG4Identifier
Definition: LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition: LArCalibCalculatorSvcImp.h:12
LArG4::EC::PresamplerCalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition: LArG4EC/src/PresamplerCalibrationCalculator.h:70
LArG4::EC::PresamplerCalibrationCalculator
Definition: LArG4EC/src/PresamplerCalibrationCalculator.h:41
LArG4::IECPresamplerGeometry
Definition: IECPresamplerGeometry.h:20
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArG4
Definition: LArWheelCalculatorEnums.h:8
LArG4::EC::PresamplerCalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
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
LArG4::EC::PresamplerCalibrationCalculator::PresamplerCalibrationCalculator
PresamplerCalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArG4Identifier.h
CaloG4
Definition: EscapedEnergyRegistry.h:21
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
LArG4::EC::PresamplerCalibrationCalculator::m_geometryCalculator
ServiceHandle< IECPresamplerGeometry > m_geometryCalculator
Definition: LArG4EC/src/PresamplerCalibrationCalculator.h:67
LArCellBinning.step
step
Definition: LArCellBinning.py:158
LArG4::kEnergyAndID
@ kEnergyAndID
Definition: LArG4EnumDefs.h:10
SimulationEnergies.h
TRT_PAI_gasdata::EC
const float EC[NC]
Energy levels for Carbon.
Definition: TRT_PAI_gasdata.h:241
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition: LArG4EnumDefs.h:10
LArG4::EC::PresamplerCalibrationCalculator::initialize
StatusCode initialize() override final
ServiceHandle
Definition: ClusterMakerTool.h:37