ATLAS Offline Software
CalibrationCalculator.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::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:
34 class G4Step;
35 class ILArCalculatorSvc;
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 
41 namespace 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  int m_zside;
76  UnsignedShortProperty m_wcalc_tProp;
78 
79  // Geometry calculator
81 
82  // Energy calculator
83  CaloG4::SimulationEnergies m_energyCalculator;
84 
85  };
86 
87  } // namespace EC
88 
89 } // namespace LArG4
90 
91 #endif // LArG4_EC_CalibrationCalculator_H
LArG4Identifier
Definition: LArG4Identifier.h:121
LArCalibCalculatorSvcImp
Definition: LArCalibCalculatorSvcImp.h:12
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LArG4::EC::CalibrationCalculator::m_wcalc_tProp
UnsignedShortProperty m_wcalc_tProp
Definition: CalibrationCalculator.h:76
LArG4::EC::CalibrationCalculator::Process
virtual G4bool Process(const G4Step *step, LArG4Identifier &identifier, std::vector< G4double > &energies, const eCalculatorProcessing p=kEnergyAndID) const override final
LArG4::EC::CalibrationCalculator
Definition: CalibrationCalculator.h:48
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArG4
Definition: LArWheelCalculatorEnums.h:8
egEnergyCorr::Geometry
Geometry
Definition: egammaEnergyCorrectionTool.h:336
LArCalibCalculatorSvcImp.h
LArG4::EC::CalibrationCalculator::WheelTypeHandler
void WheelTypeHandler(Gaudi::Details::PropertyBase &)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
LArG4::EC::CalibrationCalculator::~CalibrationCalculator
virtual ~CalibrationCalculator()
ILArCalculatorSvc
Definition: ILArCalculatorSvc.h:25
LArG4::EC::CalibrationCalculator::m_wcalc_t
LArG4::LArWheelCalculator_t m_wcalc_t
Definition: CalibrationCalculator.h:77
LArG4Identifier.h
CaloG4
Definition: EscapedEnergyRegistry.h:21
LArG4::EC::CalibrationCalculator::m_zside
int m_zside
Definition: CalibrationCalculator.h:75
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArG4::EC::CalibrationCalculator::m_energyCalculator
CaloG4::SimulationEnergies m_energyCalculator
Definition: CalibrationCalculator.h:83
LArG4::EC::CalibrationCalculator::initialize
StatusCode initialize() override final
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::EC::CalibrationCalculator::m_geometryCalculator
ServiceHandle< ILArCalculatorSvc > m_geometryCalculator
Definition: CalibrationCalculator.h:80
LArG4::eCalculatorProcessing
eCalculatorProcessing
Definition: LArG4EnumDefs.h:10
LArG4::LArWheelCalculator_t
LArWheelCalculator_t
Definition: LArWheelCalculatorEnums.h:10
LArG4::EC::CalibrationCalculator::CalibrationCalculator
CalibrationCalculator(const std::string &name, ISvcLocator *pSvcLocator)
ServiceHandle
Definition: ClusterMakerTool.h:37
LArWheelCalculator.h