ATLAS Offline Software
SimpleSDTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARG4CODE_SIMPLESDTOOL_H
6 #define LARG4CODE_SIMPLESDTOOL_H
7 
12 
13 // System includes
14 #include <string>
15 #include <vector>
16 
17 // G4Atlas includes
19 
20 // Local includes
21 #include "LArG4SimpleSD.h"
22 
23 // Forward declarations
24 class ILArCalculatorSvc;
25 class LArEM_ID;
26 class LArFCAL_ID;
27 class LArHEC_ID;
28 class LArG4SimpleSD;
29 
30 namespace LArG4
31 {
32 
41  {
42 
43  public:
44 
46  SimpleSDTool(const std::string& type, const std::string& name,
47  const IInterface* parent);
48 
50  StatusCode initialize() override final;
51 
53  StatusCode Gather() override final;
54 
55  protected:
56 
58  virtual StatusCode initializeCalculators() { return StatusCode::SUCCESS; }
59 
61  std::unique_ptr<LArG4SimpleSD>
62  makeOneSD(const std::string& name, ILArCalculatorSvc* calc,
63  const std::vector<std::string>& volumes) const;
64 
66  bool useFrozenShowers() const { return m_useFrozenShowers; }
67 
68  protected:
69 
72 
74  std::string m_timeBinType;
79 
81 
88 
89  }; // class SimpleSDTool
90 
91 } // namespace LArG4
92 
93 #endif
LArG4::SimpleSDTool::m_timeBinType
std::string m_timeBinType
What time binning type for regular hits?
Definition: SimpleSDTool.h:74
LArG4::SimpleSDTool::m_useFrozenShowers
G4bool m_useFrozenShowers
Is there going to be a fast simulation coming into this SD?
Definition: SimpleSDTool.h:78
LArG4::SimpleSDTool::useFrozenShowers
bool useFrozenShowers() const
Are we handling frozen shower fast sim?
Definition: SimpleSDTool.h:66
LArG4SimpleSD
Common sensitive detector class for LAr systems.
Definition: LArG4SimpleSD.h:36
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
SensitiveDetectorBase
Common base class for tools that create and manage Geant4 sensitive detectors.
Definition: SensitiveDetectorBase.h:42
LArG4::SimpleSDTool::initializeCalculators
virtual StatusCode initializeCalculators()
Initialize Calculator Services.
Definition: SimpleSDTool.h:58
LArG4
Definition: LArWheelCalculatorEnums.h:8
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
LArG4::SimpleSDTool::makeOneSD
std::unique_ptr< LArG4SimpleSD > makeOneSD(const std::string &name, ILArCalculatorSvc *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
LArG4::SimpleSDTool
A base class for tools that manage LArG4SimpleSDs.
Definition: SimpleSDTool.h:41
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ILArCalculatorSvc
Definition: ILArCalculatorSvc.h:25
LArG4::SimpleSDTool::m_larFcalID
const LArFCAL_ID * m_larFcalID
Definition: SimpleSDTool.h:85
LArG4::SimpleSDTool::m_timeBinWidth
float m_timeBinWidth
What time bin width for regular hits?
Definition: SimpleSDTool.h:76
LArG4::SimpleSDTool::m_larEmID
const LArEM_ID * m_larEmID
Definition: SimpleSDTool.h:84
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArG4::SimpleSDTool::m_larHecID
const LArHEC_ID * m_larHecID
Definition: SimpleSDTool.h:86
LArG4SimpleSD.h
SensitiveDetectorBase.h
LArG4::SimpleSDTool::initialize
StatusCode initialize() override final
Initialize the tool.
LArG4::SimpleSDTool::Gather
StatusCode Gather() override final
Calls down to all the SDs to pack their hits into one collection.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1252
LArG4::SimpleSDTool::SimpleSDTool
SimpleSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.