ATLAS Offline Software
Loading...
Searching...
No Matches
LArG4EC/src/PresamplerCalibrationCalculator.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::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:
28class 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
34namespace LArG4 {
35
36 // Forward declaration
38
39 namespace EC {
40
42 public:
43
44 PresamplerCalibrationCalculator(const std::string& name, ISvcLocator *pSvcLocator);
45 StatusCode initialize() override final;
46 virtual ~PresamplerCalibrationCalculator() = default;
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
67 ServiceHandle<IECPresamplerGeometry> m_geometryCalculator{this, "GeometryCalculator", "EMECPresamplerGeometry"};
68
69 // Energy calculator
71 };
72
73 } // namespace EC
74
75} // namespace LArG4
76
77#endif // LArG4_EC_PresamplerCalibrationCalculator_H
This class implements the calculations requires to categorize the energies deposited during the simul...
LArCalibCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
PresamplerCalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
StatusCode initialize() override final
eCalculatorProcessing
@ kEnergyAndID
STL namespace.
#define private