ATLAS Offline Software
|
#include <CSCSensitiveDetector.h>
Public Member Functions | |
CSCSensitiveDetector (const std::string &name, const std::string &hitCollectionName) | |
construction/destruction More... | |
~CSCSensitiveDetector () | |
void | Initialize (G4HCofThisEvent *HCE) override final |
member functions More... | |
G4bool | ProcessHits (G4Step *aStep, G4TouchableHistory *ROhist) override final |
Private Member Functions | |
FRIEND_TEST (CSCSensitiveDetectortest, Initialize) | |
FRIEND_TEST (CSCSensitiveDetectortest, ProcessHits) | |
Private Attributes | |
SG::WriteHandle< CSCSimHitCollection > | m_myCSCHitColl |
member data More... | |
const CscHitIdHelper * | m_muonHelper |
The method CSCSensitiveDetector::ProcessHits is executed by the G4 kernel each time a charged particle (or a geantino) crosses one of the CSC Gas Gaps.
Navigating with the toucahbleHistory method GetHistoryDepth() through the hierarchy of the volumes crossed by the particles, the CSCSensitiveDetector determinates the correct set of geometry parameters to be folded in the Simulation Identifier associated to each hit. The CSC SimIDs are 32-bit unsigned integers, built using the MuonSimEvent/CscHitIdHelper class which inherits from the MuonHitIdHelper base class.
We describe in the following, how each field of the identifier is retrieved.
1) stationName, stationEta, stationPhi: when a volume is found in the hierarchy, whose name contains the substring "station", the stationName is extracted from the volume's name; stationPhi and stationEta are calculated starting from the volume copy number, assigned by MuonGeoModel.
2) multilayer: when a volume is found in the hierarchy, whose name contains the substring "component", the multilayer is set to 1 or to 2, according to the component number (multilayer=1 if the component copy number is 1, multilayer=3 if the component copy number is 2).
3) wireLayer: when a volume is found in the hierarchy, whose name contains the substring "CscArCO2", the wire Layer is calculated, increasing with |z| Atlas global coordinate.
1) for each hit, the time of flight (the G4 globalTime), is recorded and associated to the hit.
2) the CSCHit object contains: the SimID, the globalTime, the energy deposited, the start and end point of the step in local coordinates (chamber reference system), the particle pdg and the track identifier.
Definition at line 61 of file CSCSensitiveDetector.h.
CSCSensitiveDetector::CSCSensitiveDetector | ( | const std::string & | name, |
const std::string & | hitCollectionName | ||
) |
|
inline |
Definition at line 68 of file CSCSensitiveDetector.h.
|
private |
|
private |
|
finaloverride |
|
finaloverride |
CSCs sensitive to charged particle only; plus energy threshold
attributes of the CSC identifier construction
hit information to be recorded
scan geometry tree to identify the gas layer
station: name, eta and phi (-> chamber!)
station name, station eta and station phi
station name
station eta and station phi
chamber layer
chamber layer
the wire layer number
get the particle ID
the track id
record global time
energy deposit
get the transformation
local position of HitStart and HitEnd
get the end of the step as return by G4 - could be at the beginning of the next volume
construct the hit identifier
insert hit in collection
Definition at line 31 of file CSCSensitiveDetector.cxx.
|
private |
Definition at line 77 of file CSCSensitiveDetector.h.
|
private |
member data
Definition at line 76 of file CSCSensitiveDetector.h.