ATLAS Offline Software
Loading...
Searching...
No Matches
CalibrationCalculator.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::CalibrationCalculator
6
7// based on:
10
11// This class calculates the values needed for calibration hits in the
12// simulation.
13
14// A "calculator" is used in much the same way as a hand-held
15// calculator might be. The user supplies a value and hits 'Enter'
16// (i.e., invokes the Process() method). Then they read off whatever
17// values are of interest.
18
19#ifndef LArG4_EC_CalibrationCalculator_H
20#define LArG4_EC_CalibrationCalculator_H
21
24
26
28
29#include "globals.hh"
30
31#include <vector>
32
33// Forward declaractions:
34class G4Step;
36
37// Note the use of nested namespaces (mainly to prevent long names
38// like LArG4HECCalibrationCalculator). This class is contained in
39// the namespace LArG4::EC.
40
41namespace LArG4 {
42
43 namespace EC {
44
45 // Forward declaration
46 class Geometry;
47
49 public:
50
51 //CalibrationCalculator(LArWheelCalculator::LArWheelCalculator_t, int);
52 CalibrationCalculator(const std::string& name, ISvcLocator *pSvcLocator);
54 // Update handler
55 void WheelTypeHandler(Gaudi::Details::PropertyBase&);
56 StatusCode initialize() override final;
57
58 // The Process method returns a boolean value. If it's true, the
59 // hit can be used by Geant4; if it's false, there's something wrong
60 // with the energy deposit and it should be ignored.
61
62 // For calibration work, most of the time we want the calculator
63 // to determine both the energy and the identifier. However,
64 // sometimes we want it calculate only the identifier (for
65 // escaped energy), or only the energy (no known application
66 // yet, but you can never tell). Use the enum (defined in
67 // VCalibrationCalculator.h) to control any special processing.
68
69 virtual G4bool Process (const G4Step* step, LArG4Identifier & identifier,
70 std::vector<G4double> & energies,
72
73 private:
74
75 IntegerProperty m_zside{this, "zSide", 0};
76 UnsignedShortProperty m_wcalc_tProp{this, "WheelType", 0, &CalibrationCalculator::WheelTypeHandler};
78
79 // Geometry calculator
81
82 // Energy calculator
84
85 };
86
87 } // namespace EC
88
89} // namespace LArG4
90
91#endif // LArG4_EC_CalibrationCalculator_H
This class implements the calculations requires to categorize the energies deposited during the simul...
LArCalibCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
CaloG4::SimulationEnergies m_energyCalculator
ServiceHandle< ILArCalculatorSvc > m_geometryCalculator
void WheelTypeHandler(Gaudi::Details::PropertyBase &)
LArG4::LArWheelCalculator_t m_wcalc_t
StatusCode initialize() override final
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
CalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
eCalculatorProcessing
@ kEnergyAndID
STL namespace.
#define private