ATLAS Offline Software
|
Tool base class for LAr H6 2004 simple SD tools. More...
#include <H62004SimpleSDTool.h>
Public Member Functions | |
H62004SimpleSDTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Constructor. More... | |
StatusCode | initialize () override final |
Initialize the tool. More... | |
StatusCode | Gather () override final |
Calls down to all the SDs to pack their hits into one collection. More... | |
StatusCode | initializeSD () override |
Setup an SD in the current thread. More... | |
virtual StatusCode | SetupEvent () override |
Beginning of an athena event. More... | |
Protected Member Functions | |
std::unique_ptr< LArG4SimpleSD > | makeOneSD (const std::string &name, ILArCalculatorSvc *calc, const std::vector< std::string > &volumes) const |
Override helper method to create one SD. More... | |
virtual StatusCode | initializeCalculators () |
Initialize Calculator Services. More... | |
bool | useFrozenShowers () const |
Are we handling frozen shower fast sim? More... | |
StatusCode | assignSD (G4VSensitiveDetector *sd, const std::vector< std::string > &volumes) const |
Assign SD to a list of volumes. More... | |
G4VSensitiveDetector * | getSD () |
Retrieve the current SD. More... | |
void | SetSensitiveDetector (G4LogicalVolume *, G4VSensitiveDetector *) const |
Method stolen from G4VUserDetectorConstruction in G4 10.2. More... | |
Protected Attributes | |
Gaudi::Property< std::vector< std::string > > | m_volumeNames {this, "LogicalVolumeNames", {}} |
All the volumes to which this SD is assigned. More... | |
Gaudi::Property< std::vector< std::string > > | m_outputCollectionNames {this, "OutputCollectionNames", {}} |
Names of all output collections written out by this SD. More... | |
Gaudi::Property< bool > | m_noVolumes {this, "NoVolumes", false} |
This SensitiveDetector has no volumes associated with it. More... | |
Private Member Functions | |
void | setSD (G4VSensitiveDetector *) |
Set the current SD. More... | |
Static Private Member Functions | |
static bool | matchStrings (const char *first, const char *second) |
Match two strings with wildcard support. More... | |
Private Attributes | |
G4VSensitiveDetector * | m_SD {} |
The sensitive detector to which this thing corresponds. More... | |
Tool base class for LAr H6 2004 simple SD tools.
This tool overrides the SD creation from SimpleSDTool to create the custom LArG4H62004SimpleSD objects.
See LArG4::SimpleSDTool documentation for more details.
Definition at line 24 of file H62004SimpleSDTool.h.
LArG4::H62004SimpleSDTool::H62004SimpleSDTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Constructor.
|
protectedinherited |
Assign SD to a list of volumes.
This method supports wild card matching
Definition at line 69 of file SensitiveDetectorBase.cxx.
|
finaloverridevirtualinherited |
Calls down to all the SDs to pack their hits into one collection.
Reimplemented from SensitiveDetectorBase.
|
protectedinherited |
Retrieve the current SD.
In AthenaMT, this means the thread-local SD. Otherwise, it is simply the single SD.
Definition at line 123 of file SensitiveDetectorBase.cxx.
|
finaloverrideinherited |
Initialize the tool.
|
inlineprotectedvirtualinherited |
Initialize Calculator Services.
Reimplemented in LArG4::H62004FCALSDTool, LArG4::H62004EMECSDTool, LArG4::H62004HECSDTool, LArG4::EMBSDTool, LArG4::EMECSDTool, LArG4::FCALSDTool, and LArG4::HECSDTool.
Definition at line 58 of file SimpleSDTool.h.
|
overrideinherited |
Setup an SD in the current thread.
Separate from the AthAlgTool initialize() method because it needs to be called once per worker thread in AthenaMT. Don't confuse this with the G4 SD method Initialize which is called at the beginning of every G4 event.
Definition at line 30 of file SensitiveDetectorBase.cxx.
|
protected |
Override helper method to create one SD.
|
staticprivateinherited |
Match two strings with wildcard support.
Compares two strings character by character with optional * wildcard in the first argument
Definition at line 150 of file SensitiveDetectorBase.cxx.
|
privateinherited |
Set the current SD.
In hive, this gets assigned as the thread-local SD.
Definition at line 137 of file SensitiveDetectorBase.cxx.
|
protectedinherited |
Method stolen from G4VUserDetectorConstruction in G4 10.2.
Definition at line 177 of file SensitiveDetectorBase.cxx.
|
inlineoverridevirtualinherited |
Beginning of an athena event.
This is where collection initialization should happen. If we are using a WriteHandle, then this could be empty.
Reimplemented in MuonWallSDTool, AFP_SensitiveDetectorTool, AFP_SiDSensitiveDetectorTool, AFP_TDSensitiveDetectorTool, CaloCellContainerSDTool, and ALFA_SensitiveDetectorTool.
Definition at line 62 of file SensitiveDetectorBase.h.
|
inlineprotectedinherited |
Definition at line 84 of file SimpleSDTool.h.
|
protectedinherited |
Definition at line 85 of file SimpleSDTool.h.
Definition at line 86 of file SimpleSDTool.h.
|
protectedinherited |
This SensitiveDetector has no volumes associated with it.
Definition at line 87 of file SensitiveDetectorBase.h.
|
protectedinherited |
Names of all output collections written out by this SD.
Definition at line 84 of file SensitiveDetectorBase.h.
|
privateinherited |
The sensitive detector to which this thing corresponds.
Definition at line 111 of file SensitiveDetectorBase.h.
|
protectedinherited |
What time binning type for regular hits?
Definition at line 74 of file SimpleSDTool.h.
|
protectedinherited |
What time bin width for regular hits?
Definition at line 76 of file SimpleSDTool.h.
|
protectedinherited |
Is there going to be a fast simulation coming into this SD?
Definition at line 78 of file SimpleSDTool.h.
|
protectedinherited |
All the volumes to which this SD is assigned.
Definition at line 82 of file SensitiveDetectorBase.h.