![]() |
ATLAS Offline Software
|
A base class for tools that manage FCS_StepInfoSDs. More...
#include <FCS_StepInfoSDTool.h>
Public Member Functions | |
| FCS_StepInfoSDTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Constructor. | |
| StatusCode | initialize () override final |
| Initialize the tool. | |
| StatusCode | Gather () override final |
| Calls down to all the SDs to pack their hits into one collection. | |
| StatusCode | initializeSD () override |
| Setup an SD in the current thread. | |
| virtual StatusCode | SetupEvent () override |
| Beginning of an athena event. | |
| virtual StatusCode | SetupEvent (HitCollectionMap &) override |
| virtual StatusCode | Gather (HitCollectionMap &) override |
Protected Member Functions | |
| StatusCode | assignSD (std::unique_ptr< G4VSensitiveDetector > sd, const std::vector< std::string > &volumes) const |
| Assign SD to a list of volumes. | |
| G4VSensitiveDetector * | getSD () |
| Retrieve the current SD. | |
| void | SetSensitiveDetector (G4LogicalVolume *, G4VSensitiveDetector *) const |
| Method stolen from G4VUserDetectorConstruction in G4 10.2. | |
Protected Attributes | |
| Gaudi::Property< std::vector< std::string > > | m_volumeNames {this, "LogicalVolumeNames", {}} |
| All the volumes to which this SD is assigned. | |
| Gaudi::Property< std::vector< std::string > > | m_outputCollectionNames {this, "OutputCollectionNames", {}} |
| Names of all output collections written out by this SD. | |
| Gaudi::Property< bool > | m_noVolumes {this, "NoVolumes", false} |
| This SensitiveDetector has no volumes associated with it. | |
Private Member Functions | |
| G4VSensitiveDetector * | makeSD () const override final |
| Create the SD wrapper for current worker thread. | |
| virtual StatusCode | initializeCalculators () |
| Initialize Calculator Services. | |
| FCS_StepInfoSD * | makeOneLArSD (const std::string &name, ILArCalculatorSvc *calc, const std::vector< std::string > &volumes) const |
| Helper method to create one SD. | |
| FCS_StepInfoSD * | makeOneTileSD (const std::string &name, ITileCalculator *calc, const std::vector< std::string > &volumes) const |
| Helper method to create one SD. | |
| void | setSD (G4VSensitiveDetector *) |
| Set the current SD. | |
Static Private Member Functions | |
| static bool | matchStrings (const char *first, const char *second) |
| Match two strings with wildcard support. | |
A base class for tools that manage FCS_StepInfoSDs.
Definition at line 40 of file FCS_StepInfoSDTool.h.
| FCS_Param::FCS_StepInfoSDTool::FCS_StepInfoSDTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Constructor.
Definition at line 36 of file FCS_StepInfoSDTool.cxx.
|
protectedinherited |
Assign SD to a list of volumes.
This method supports wild card matching
Definition at line 64 of file SensitiveDetectorBase.cxx.
|
finaloverridevirtual |
Calls down to all the SDs to pack their hits into one collection.
Reimplemented from SensitiveDetectorBase.
Definition at line 168 of file FCS_StepInfoSDTool.cxx.
|
inlineoverridevirtualinherited |
Reimplemented in BCMSensorSDTool, BLMSensorSDTool, CSCSensitiveDetectorCosmicsTool, CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool, MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, PixelSensorSDTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, SctSensor_CTBTool, SctSensorSDTool, sTGCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, TileGeoG4CalibSDTool, TileGeoG4SDTool, and TRTSensitiveDetectorTool.
Definition at line 79 of file SensitiveDetectorBase.h.
|
protectedinherited |
Retrieve the current SD.
In AthenaMT, this means the thread-local SD. Otherwise, it is simply the single SD.
Definition at line 120 of file SensitiveDetectorBase.cxx.
|
finaloverride |
Initialize the tool.
Definition at line 108 of file FCS_StepInfoSDTool.cxx.
|
privatevirtual |
Initialize Calculator Services.
Definition at line 145 of file FCS_StepInfoSDTool.cxx.
|
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 25 of file SensitiveDetectorBase.cxx.
|
private |
Helper method to create one SD.
Definition at line 223 of file FCS_StepInfoSDTool.cxx.
|
private |
Helper method to create one SD.
Definition at line 263 of file FCS_StepInfoSDTool.cxx.
|
finaloverrideprivate |
Create the SD wrapper for current worker thread.
Definition at line 182 of file FCS_StepInfoSDTool.cxx.
|
staticprivateinherited |
Match two strings with wildcard support.
Compares two strings character by character with optional * wildcard in the first argument
Definition at line 147 of file SensitiveDetectorBase.cxx.
|
privateinherited |
Set the current SD.
In hive, this gets assigned as the thread-local SD.
Definition at line 134 of file SensitiveDetectorBase.cxx.
|
protectedinherited |
Method stolen from G4VUserDetectorConstruction in G4 10.2.
Definition at line 174 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 AFP_SensitiveDetectorTool, AFP_SiDSensitiveDetectorTool, AFP_TDSensitiveDetectorTool, ALFA_SensitiveDetectorTool, CaloCellContainerSDTool, and MuonWallSDTool.
Definition at line 70 of file SensitiveDetectorBase.h.
|
inlineoverridevirtualinherited |
Reimplemented in BCMSensorSDTool, BLMSensorSDTool, CSCSensitiveDetectorCosmicsTool, CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool, MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, PixelSensorSDTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, SctSensor_CTBTool, SctSensorSDTool, sTGCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, TileGeoG4CalibSDTool, TileGeoG4SDTool, and TRTSensitiveDetectorTool.
Definition at line 71 of file SensitiveDetectorBase.h.
|
private |
Definition at line 92 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 123 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 94 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 97 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 107 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 101 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 95 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 105 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 99 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 104 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 111 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 84 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 112 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 85 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 113 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 86 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 110 of file FCS_StepInfoSDTool.h.
|
private |
Hit collection name.
Definition at line 71 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 118 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 119 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 120 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 83 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 78 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 80 of file FCS_StepInfoSDTool.h.
|
protectedinherited |
This SensitiveDetector has no volumes associated with it.
Definition at line 101 of file SensitiveDetectorBase.h.
|
protectedinherited |
Names of all output collections written out by this SD.
Definition at line 98 of file SensitiveDetectorBase.h.
|
private |
Definition at line 82 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 77 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 79 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 76 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 81 of file FCS_StepInfoSDTool.h.
|
privateinherited |
The sensitive detector to which this thing corresponds.
Definition at line 125 of file SensitiveDetectorBase.h.
|
private |
Definition at line 87 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 75 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 114 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 121 of file FCS_StepInfoSDTool.h.
|
private |
Definition at line 88 of file FCS_StepInfoSDTool.h.
|
protectedinherited |
All the volumes to which this SD is assigned.
Definition at line 96 of file SensitiveDetectorBase.h.