![]() |
OMSim
Geant4 for IceCube optical module studies
|
Represents a sensitive detector. More...
Enhanced sensitive detector with photon origin classification.
Public Member Functions | |
| OMSimSensitiveDetector (G4String pName, DetectorType pDetectorType) | |
| Constructor for OMSimSensitiveDetector. | |
| ~OMSimSensitiveDetector () | |
| Destructor for OMSimSensitiveDetector. | |
| G4bool | ProcessHits (G4Step *pStep, G4TouchableHistory *pTouchableHistory) override |
| Processes hits for optical photons in the detector. | |
| void | setPMTResponse (OMSimPMTResponse *pResponse) |
| Sets the PMT response model. | |
| OMSimSensitiveDetector (G4String pName, DetectorType pDetectorType) | |
| G4bool | ProcessHits (G4Step *pStep, G4TouchableHistory *pTouchableHistory) override |
| void | setPMTResponse (OMSimPMTResponse *pResponse) |
Private Member Functions | |
| G4bool | checkVolumeAbsorption (G4Step *pStep) |
| Checks if the photon was absorbed in the volume. | |
| G4bool | checkBoundaryAbsorption (G4Step *pStep) |
| Checks if the photon was detected at a boundary. | |
| PhotonInfo | getPhotonInfo (G4Step *pStep) |
| Retrieves photon information from a given step. | |
| G4bool | handlePMT (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| Handles hits for PMT detectors. | |
| G4bool | handleGeneralPhotonDetector (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| Handles hits for general photon detectors. | |
| G4bool | handleShellDetector (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| Handles hits for shell photon detectors. This detector does not kill the particle. | |
| bool | isPhotonDetected (double p_efficiency) |
| Monte carlo if the photon was detected based on the detection probability. | |
| void | storePhotonHit (PhotonInfo &pInfo) |
| Stores photon hit information into the HitManager. | |
| void | fetchBoundaryProcess () |
| Fetches the boundary process for detecting boundary absorptions. | |
| void | killParticle (G4Track *pTrack) |
| Stop the particle from propagating further. Necessary for 100% efficient detectors. | |
| G4bool | checkVolumeAbsorption (G4Step *pStep) |
| G4bool | checkBoundaryAbsorption (G4Step *pStep) |
| PhotonInfo | getPhotonInfo (G4Step *pStep) |
| G4bool | handlePMT (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| G4bool | handleGeneralPhotonDetector (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| G4bool | handleShellDetector (G4Step *pStep, G4TouchableHistory *pTouchableHistory) |
| bool | isPhotonDetected (double p_efficiency) |
| void | storePhotonHit (PhotonInfo &pInfo) |
| void | fetchBoundaryProcess () |
| void | killParticle (G4Track *pTrack) |
Private Attributes | |
| bool | m_QEcut |
| OMSimPMTResponse * | m_PMTResponse |
| DetectorType | m_detectorType |
Static Private Attributes | |
| static thread_local G4OpBoundaryProcess * | m_boundaryProcess = nullptr |
| OMSimSensitiveDetector::OMSimSensitiveDetector | ( | G4String | p_name, |
| DetectorType | p_detectorType | ||
| ) |
| p_name | Name of the sensitive detector. |
| p_detectorType | Type of the detector (e.g., PMT, VolumePhotonDetector). |
|
private |
| p_step | The current step information. |
|
private |
| p_step | The current step information. |
|
private |
Retrieves and stores the G4OpBoundaryProcess to check for photon detection at boundaries. Logs an error if the process is not found.
|
private |
| p_step | The current step information. |
|
private |
| p_step | The current step information. |
| p_touchableHistory | The history of touchable objects. |
|
private |
| p_step | The current step information. |
| p_touchableHistory | The history of touchable objects. |
|
private |
| p_step | The current step information. |
| p_touchableHistory | The history of touchable objects. |
|
private |
| p_efficiency | The detection probability. |
|
override |
If the detector type is one of the perfect detectors (100% efficient), the photon hit is registered directly. Otherwise, it checks for volume or boundary absorption based on the detector type.
| p_step | The current step information. |
| p_touchableHistory | The history of touchable objects. |
| void OMSimSensitiveDetector::setPMTResponse | ( | OMSimPMTResponse * | p_response | ) |
| p_response | Pointer to the PMT response object. |
|
private |
| p_info | The photon hit information. |
|
staticprivate |