ATLAS Offline Software
LArG4SDTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARG4BARRELSDTOOL_H
6 #define LARG4BARRELSDTOOL_H
7 
8 // Base class
10 
11 #include <string>
12 #include <vector>
13 class G4VSensitiveDetector;
14 
15 // For the identifier helpers
16 class LArEM_ID;
17 class LArFCAL_ID;
18 class LArHEC_ID;
19 class CaloDM_ID;
20 class LArG4SimpleSD;
21 class LArG4CalibSD;
22 
33 {
34  public:
36  LArG4SDTool(const std::string& type, const std::string& name, const IInterface *parent);
37 
39  virtual ~LArG4SDTool() {}
40 
41  StatusCode initialize() override final;
42 
43  virtual StatusCode initializeCalculators(){ return StatusCode::SUCCESS; }
44 
46  void setupHelpers( LArG4SimpleSD* ) const;
48  void setupHelpers( LArG4CalibSD* ) const;
49 
50  protected:
51 
52  G4VSensitiveDetector* makeSD() const override final { return nullptr; }
53 
55  G4bool m_doPID;
57  std::string m_timeBinType;
61  G4bool m_useFrozenShowers = false;
62 
66  void setupAllSDs(const std::map<G4VSensitiveDetector*,std::vector<std::string>*>& configuration) const;
67 
73 
75  bool match(const char *first, const char * second) const;
76 
77 };
78 
79 #endif
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
LArG4SDTool::m_timeBinType
std::string m_timeBinType
What time binning type for regular hits?
Definition: LArG4SDTool.h:57
LArG4SDTool::initialize
StatusCode initialize() override final
LArG4SDTool::m_larFcalID
const LArFCAL_ID * m_larFcalID
Definition: LArG4SDTool.h:70
LArG4SDTool::m_caloDmID
const CaloDM_ID * m_caloDmID
Definition: LArG4SDTool.h:72
LArG4SDTool::m_timeBinWidth
float m_timeBinWidth
What time bin width for regular hits?
Definition: LArG4SDTool.h:59
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
LArG4SDTool
A base class for tools that manage LAr SDs.
Definition: LArG4SDTool.h:33
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArG4SDTool::setupHelpers
void setupHelpers(LArG4SimpleSD *) const
Helper method to pass the ID helper pointers to the SDs.
LArG4SDTool::makeSD
G4VSensitiveDetector * makeSD() const override final
Definition: LArG4SDTool.h:52
LArG4SDTool::setupHelpers
void setupHelpers(LArG4CalibSD *) const
Overload of the above method for calib SDs.
LArG4SDTool::m_larEmID
const LArEM_ID * m_larEmID
Pointers to the identifier helpers.
Definition: LArG4SDTool.h:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4CalibSD
A specialized SD class for saving LAr calibration hits.
Definition: LArG4CalibSD.h:38
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArG4SDTool::m_doPID
G4bool m_doPID
Are we set up to run with PID hits?
Definition: LArG4SDTool.h:55
LArG4SDTool::initializeCalculators
virtual StatusCode initializeCalculators()
Definition: LArG4SDTool.h:43
LArG4SDTool::m_useFrozenShowers
G4bool m_useFrozenShowers
Is there going to be a fast simulation coming into this SD?
Definition: LArG4SDTool.h:61
LArG4SDTool::~LArG4SDTool
virtual ~LArG4SDTool()
Destructor.
Definition: LArG4SDTool.h:39
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArG4SDTool::match
bool match(const char *first, const char *second) const
Helper function for matching strings with wildcards.
SensitiveDetectorBase.h
LArG4SDTool::setupAllSDs
void setupAllSDs(const std::map< G4VSensitiveDetector *, std::vector< std::string > * > &configuration) const
Method actually doing the work to assign all of these SDs FIXME: this argument type is nasty:
CaloDM_ID
Helper class for Calo Dead Material offline identifiers.
Definition: CaloDM_ID.h:102
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DeMoScan.first
bool first
Definition: DeMoScan.py:534
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
LArG4SDTool::m_larHecID
const LArHEC_ID * m_larHecID
Definition: LArG4SDTool.h:71
LArG4SDTool::LArG4SDTool
LArG4SDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.