ATLAS Offline Software
|
#include <CSCSensitiveDetectorCosmics.h>
Public Member Functions | |
CSCSensitiveDetectorCosmics (const std::string &name, const std::string &hitCollectionName) | |
construction/destruction More... | |
~CSCSensitiveDetectorCosmics () | |
void | Initialize (G4HCofThisEvent *HCE) override final |
member functions More... | |
G4bool | ProcessHits (G4Step *aStep, G4TouchableHistory *ROhist) override final |
Private Member Functions | |
FRIEND_TEST (CSCSensitiveDetectorCosmicstest, Initialize) | |
FRIEND_TEST (CSCSensitiveDetectorCosmicstest, ProcessHits) | |
Private Attributes | |
Amg::Vector3D | m_mom |
double | m_momMag |
Amg::Vector3D | m_vertex |
Amg::Vector3D | m_currVertex |
Amg::Vector3D | m_globH |
double | m_globalTime |
SG::WriteHandle< CSCSimHitCollection > | m_myCSCHitColl |
member data More... | |
const CscHitIdHelper * | m_muonHelper |
The method CSCSensitiveDetectorCosmics::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 CSCSensitiveDetectorCosmics 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.
The modified version (Daniela Rebuzzi, 16/12/2005) calculates the tof for the cosmics, using as t0 the time to the closest approach of the track to (0,0,0). This implementation works also for slow particles, since the discrimination physics event/cosmics is done relying on the G4Track vertex (not on the tof).
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 66 of file CSCSensitiveDetectorCosmics.h.
CSCSensitiveDetectorCosmics::CSCSensitiveDetectorCosmics | ( | const std::string & | name, |
const std::string & | hitCollectionName | ||
) |
|
inline |
Definition at line 72 of file CSCSensitiveDetectorCosmics.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
the track id
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
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 41 of file CSCSensitiveDetectorCosmics.cxx.
|
private |
Definition at line 82 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 84 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 83 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 79 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 80 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 88 of file CSCSensitiveDetectorCosmics.h.
|
private |
member data
Definition at line 87 of file CSCSensitiveDetectorCosmics.h.
|
private |
Definition at line 81 of file CSCSensitiveDetectorCosmics.h.