ATLAS Offline Software
Loading...
Searching...
No Matches
PresamplerGeometry.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::PresamplerGeometry
6
7// This class contains the geometry calculations needed to calculate
8// an identifier for a given G4Step.
9
10// 17-Aug-2004: Mikhail Leltchouk wrote the original code, Bill
11// Seligman revised it for current use.
12
13// Note: This class is intended for use in calculating identifiers in
14// both active and inactive regions of the detector. For calibration
15// studies, it must work properly whether the energy is deposited in
16// the liquid argon or the absorber.
17
18#ifndef LArG4_EC_PresamplerGeometry_H
19#define LArG4_EC_PresamplerGeometry_H
22
23// Forward declarations.
24class LArG4Identifier;
25class G4Step;
26
27// Note the use of nested namespaces (mainly to prevent long names
28// like LArG4HECGeometry). This class is contained in the namespace
29// LArG4::EC.
30
31namespace LArG4 {
32
33 namespace EC {
34
35 class PresamplerGeometry: public extends<AthService, IECPresamplerGeometry> {
36
37 public:
38 // Constructor
39 PresamplerGeometry(const std::string& name, ISvcLocator * pSvcLocator);
40 StatusCode initialize() override final;
42
43 // 15-Jan-2002 WGS: A "lookup" function for detector measurements,
44 // sizes, and other values.
53 // This is the "meat" of this class: calculate the identifier
54 // given a G4Step.
55 LArG4Identifier CalculateIdentifier( const G4Step* ) const override final;
56
57 private:
58
59 double GetValue(const kValue) const;
60
61 struct Clockwork;
62 Clockwork *m_c; //FIXME is it really worth creating this struct on the heap?
63
66 };
67
68 } // namespace EC
69
70} // namespace LArG4
71
72#endif // LArG4_EC_PresamplerGeometry_H
PresamplerGeometry(const PresamplerGeometry &)
PresamplerGeometry & operator=(const PresamplerGeometry &)
LArG4Identifier CalculateIdentifier(const G4Step *) const override final
double GetValue(const kValue) const
PresamplerGeometry(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize() override final