ATLAS Offline Software
Loading...
Searching...
No Matches
LArBarrelCalibrationCalculator.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::Barrel::CalibrationCalculator
6
7// This class calculates the values needed for calibration hits in the
8// simulation.
9
10#ifndef LArG4_Barrel_CalibrationCalculator_H
11#define LArG4_Barrel_CalibrationCalculator_H
12
15#include "ILArBarrelGeometry.h"
16
18
19#include "globals.hh"
20
21#include <vector>
22
23// Forward declaractions:
24class 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
30namespace LArG4 {
31
32 namespace Barrel {
33
35 public:
36
37 CalibrationCalculator(const std::string& name, ISvcLocator *pSvcLocator);
38 StatusCode initialize() override final;
39 virtual ~CalibrationCalculator() = default;
40
41 // The Process method returns a boolean value. If it's true, the
42 // hit can be used by Geant4; if it's false, there's something wrong
43 // with the energy deposit and it should be ignored.
44
45 // For calibration work, most of the time we want the calculator
46 // to determine both the energy and the identifier. However,
47 // sometimes we want it calculate only the identifier (for
48 // escaped energy), or only the energy (no known application
49 // yet, but you can never tell). Use the enum (defined in
50 // VCalibrationCalculator.h) to control any special processing.
51
52 virtual G4bool Process(const G4Step* step,
53 LArG4Identifier& identifier,
54 LArG4Identifier& identifier_sr,
55 std::vector<double>& energies,
56 const LArG4::eCalculatorProcessing process) const override final;
57
58 private:
59 // Geometry calculator
60 ServiceHandle<ILArBarrelGeometry> m_geometryCalculator{this, "GeometryCalculator", "LArBarrelGeometry"};
61 Gaudi::Property<bool> m_calculateSuperResolutionIdentifier{this, "calculateSuperResolutionIdentifier", false};
62
63 // Energy calculator
65 };
66
67 } // namespace Barrel
68
69} // namespace LArG4
70
71#endif // LArG4_Barrel_CalibrationCalculator_H
This class implements the calculations requires to categorize the energies deposited during the simul...
LArCalibCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
ServiceHandle< ILArBarrelGeometry > m_geometryCalculator
virtual ~CalibrationCalculator()=default
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, LArG4Identifier &identifier_sr, std::vector< double > &energies, const LArG4::eCalculatorProcessing process) const override final
CalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
const std::string process
eCalculatorProcessing