ATLAS Offline Software
Loading...
Searching...
No Matches
LArBarrelPresamplerCalculator.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// LArBarrelPresamplerCalculator.hh
6// Prepared 05-Dec-2002 Bill Seligman
7
8// A first pass at determing hit cell ID in the LAr barrel presampler.
9
10#ifndef LARG4BARREL_LARBARRELPRESAMPLERCALCULATOR_H
11#define LARG4BARREL_LARBARRELPRESAMPLERCALCULATOR_H
12
16
17#include "globals.hh"
18#include <stdexcept>
19// Forward declarations.
20class G4Step;
21class PsMap;
22class LArG4BirksLaw;
23class G4String;
24
26
27public:
28
29 LArBarrelPresamplerCalculator(const std::string& name, ISvcLocator *pSvcLocator);
32
33 virtual StatusCode initialize() override final;
34 virtual StatusCode finalize() override final;
35
37
38 virtual G4float OOTcut() const override final { return m_OOTcut; }
39
40 virtual G4bool Process(const G4Step* a_step, std::vector<LArHitData>& hdata) const override final;
41
42 // Check if the current hitTime is in-time
43 virtual G4bool isInTime(G4double hitTime) const override final
44 {
45 return !(std::fabs(hitTime) > m_OOTcut);
46 }
47
48private:
49
50 // Class for calculating the identifier.
51 ServiceHandle<ILArBarrelPresamplerGeometry> m_geometry{this, "GeometryCalculator", "LArBarrelPresamplerGeometry"};
52
53 Gaudi::Property<bool> m_IflCur{this, "IflCur", true};
54
55 // detector name, for translated geometry
56 Gaudi::Property<std::string> m_detectorName{this, "DetectorName", "LArMgr"};
57
58 Gaudi::Property<bool> m_testbeam{this, "isTestbeam", false};
59
60 const PsMap* m_psmap{nullptr};
61 const LArG4BirksLaw *m_birksLaw{nullptr};
62 G4String m_volname{"LArMgr::LAr::Barrel::Presampler"};
63};
64
65#endif // __LArBarrelPresamplerCalculator_H__
float hitTime(const AFP_SIDSimHit &hit)
Gaudi::Property< std::string > m_detectorName
ServiceHandle< ILArBarrelPresamplerGeometry > m_geometry
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hdata) const override final
virtual StatusCode finalize() override final
LArBarrelPresamplerCalculator(const LArBarrelPresamplerCalculator &)=delete
virtual G4float OOTcut() const override final
virtual StatusCode initialize() override final
virtual G4bool isInTime(G4double hitTime) const override final
LArBarrelPresamplerCalculator & operator=(const LArBarrelPresamplerCalculator &)=delete
LArBarrelPresamplerCalculator(const std::string &name, ISvcLocator *pSvcLocator)
LArCalculatorSvcImp(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_OOTcut
Definition PsMap.h:16