ATLAS Offline Software
Loading...
Searching...
No Matches
SimpleSDTool.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#ifndef LARG4CODE_SIMPLESDTOOL_H
6#define LARG4CODE_SIMPLESDTOOL_H
7
14
15// System includes
16#include <string>
17#include <vector>
18
19// G4Atlas includes
21
22// Local includes
23#include "LArG4SimpleSD.h"
24
25// External includes
26#include "CLHEP/Units/SystemOfUnits.h"
27
28// Forward declarations
30class LArEM_ID;
31class LArFCAL_ID;
32class LArHEC_ID;
33class LArG4SimpleSD;
34
35namespace LArG4
36{
37
46 {
47
48 public:
49
51 SimpleSDTool(const std::string& type, const std::string& name,
52 const IInterface* parent);
53
55 StatusCode initialize() override final;
56
58 StatusCode Gather() override final;
59
61
63 virtual StatusCode initializeCalculators() { return StatusCode::SUCCESS; }
64
67 makeOneSD(const std::string& name, ILArCalculatorSvc* calc,
68 const std::vector<std::string>& volumes) const;
69
71 bool useFrozenShowers() const { return m_useFrozenShowers; }
72
73 protected:
74
77
79 Gaudi::Property<std::string> m_timeBinType{this, "TimeBinType", "Default"};
81 Gaudi::Property<float> m_timeBinWidth{this, "TimeBinWidth", 2.5*CLHEP::ns};
83 Gaudi::Property<G4bool> m_useFrozenShowers{this, "UseFrozenShowers", false};
84
86
89 const LArEM_ID* m_larEmID{nullptr};
90 const LArFCAL_ID* m_larFcalID{nullptr};
91 const LArHEC_ID* m_larHecID{nullptr};
93
94 }; // class SimpleSDTool
95
96} // namespace LArG4
97
98#endif
#define protected
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
Common sensitive detector class for LAr systems.
const LArHEC_ID * m_larHecID
SimpleSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
virtual StatusCode initializeCalculators()
Initialize Calculator Services.
LArG4SimpleSD * makeOneSD(const std::string &name, ILArCalculatorSvc *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
Gaudi::Property< float > m_timeBinWidth
What time bin width for regular hits?
const LArEM_ID * m_larEmID
const LArFCAL_ID * m_larFcalID
Gaudi::Property< std::string > m_timeBinType
What time binning type for regular hits?
bool useFrozenShowers() const
Are we handling frozen shower fast sim?
StatusCode Gather() override final
Calls down to all the SDs to pack their hits into one collection.
Gaudi::Property< G4bool > m_useFrozenShowers
Is there going to be a fast simulation coming into this SD?
StatusCode initialize() override final
Initialize the tool.
Helper class for LArHEC offline identifiers.
Definition LArHEC_ID.h:76
SensitiveDetectorBase(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.