![]() |
ATLAS Offline Software
|
Tool for constructing H62004 calib SDs for inactive material. More...
#include <H62004InactiveSDTool.h>
Public Member Functions | |
| H62004InactiveSDTool (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. | |
| virtual StatusCode | Gather (HitCollectionMap &) override |
| StatusCode | initializeSD () override |
| Setup an SD in the current thread. | |
| virtual StatusCode | SetupEvent () override |
| Beginning of an athena event. | |
| virtual StatusCode | SetupEvent (HitCollectionMap &) override |
Protected Member Functions | |
| LArG4CalibSD * | makeOneSD (const std::string &name, ILArCalibCalculatorSvc *calc, const std::vector< std::string > &volumes) const |
| Override helper method to create one SD. | |
| 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. | |
configuration properties | |
| Gaudi::Property< G4bool > | m_doPID {this, "ParticleID", false} |
| Are we set up to run with PID hits? | |
Calo identifier helpers | |
| const LArEM_ID * | m_larEmID {nullptr} |
| const LArFCAL_ID * | m_larFcalID {nullptr} |
| const LArHEC_ID * | m_larHecID {nullptr} |
| const CaloDM_ID * | m_caloDmID {nullptr} |
| const AtlasDetectorID * | m_id_helper {nullptr} |
Private Member Functions | |
| StatusCode | initializeCalculators () override final |
| Initialize Calculator Services. | |
| G4VSensitiveDetector * | makeSD () const override final |
| Create the SD wrapper for current worker thread. | |
| 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. | |
Private Attributes | |
| std::string | m_hitCollName {"LArCalibrationHitInactive"} |
| Hit collection name. | |
| ServiceHandle< ILArCalibCalculatorSvc > | m_emepiwcalc {this, "EMECPosIWCalibrationCalculator", "EMECPosInnerWheelCalibrationCalculator"} |
| ServiceHandle< ILArCalibCalculatorSvc > | m_heccalc {this, "HECWheelInactiveCalculator", "LocalCalibrationInactiveCalculator"} |
| ServiceHandle< ILArCalibCalculatorSvc > | m_fcal1calc {this, "FCAL1CalibCalculator", "LArFCAL1H62004CalibCalculator"} |
| ServiceHandle< ILArCalibCalculatorSvc > | m_fcal2calc {this, "FCAL2CalibCalculator", "LArFCAL2H62004CalibCalculator"} |
| G4VSensitiveDetector * | m_SD {} |
| The sensitive detector to which this thing corresponds. | |
SD volumes | |
| Gaudi::Property< std::vector< std::string > > | m_emecVolumes {this, "EMECVolumes"} |
| Gaudi::Property< std::vector< std::string > > | m_hecVolumes {this, "HECVolumes"} |
| Gaudi::Property< std::vector< std::string > > | m_fcal1Volumes {this, "FCAL1Volumes"} |
| Gaudi::Property< std::vector< std::string > > | m_fcal2Volumes {this, "FCAL2Volumes"} |
Tool for constructing H62004 calib SDs for inactive material.
Based on the previous LArG4H62004InactiveSDTool implementation.
This implementation uses the LAr SD wrapper design for managing multiple SDs when running multi-threaded. See ATLASSIM-2606 for discussions.
Definition at line 27 of file H62004InactiveSDTool.h.
| LArG4::H62004InactiveSDTool::H62004InactiveSDTool | ( | 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 64 of file SensitiveDetectorBase.cxx.
|
finaloverridevirtualinherited |
Calls down to all the SDs to pack their hits into one collection.
Reimplemented from SensitiveDetectorBase.
|
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.
|
finaloverrideinherited |
Initialize the tool.
|
finaloverrideprivatevirtual |
Initialize Calculator Services.
Reimplemented from LArG4::CalibSDTool.
|
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.
|
protectedinherited |
Override helper method to create one SD.
|
finaloverrideprivate |
Create the SD wrapper for current worker thread.
|
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.
|
protectedinherited |
Definition at line 83 of file CalibSDTool.h.
|
protectedinherited |
Are we set up to run with PID hits?
Definition at line 74 of file CalibSDTool.h.
|
private |
Definition at line 53 of file H62004InactiveSDTool.h.
|
private |
Definition at line 46 of file H62004InactiveSDTool.h.
|
private |
Definition at line 48 of file H62004InactiveSDTool.h.
|
private |
Definition at line 55 of file H62004InactiveSDTool.h.
|
private |
Definition at line 49 of file H62004InactiveSDTool.h.
|
private |
Definition at line 56 of file H62004InactiveSDTool.h.
|
private |
Definition at line 47 of file H62004InactiveSDTool.h.
|
private |
Definition at line 54 of file H62004InactiveSDTool.h.
|
private |
Hit collection name.
Definition at line 44 of file H62004InactiveSDTool.h.
|
protectedinherited |
Definition at line 84 of file CalibSDTool.h.
|
protectedinherited |
Definition at line 80 of file CalibSDTool.h.
|
protectedinherited |
Definition at line 81 of file CalibSDTool.h.
|
protectedinherited |
Definition at line 82 of file CalibSDTool.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.
|
privateinherited |
The sensitive detector to which this thing corresponds.
Definition at line 125 of file SensitiveDetectorBase.h.
|
protectedinherited |
All the volumes to which this SD is assigned.
Definition at line 96 of file SensitiveDetectorBase.h.