#include <SensitiveDetector.h>
|
void | AssignSD (const std::string &vname) |
|
Definition at line 19 of file SensitiveDetector.h.
◆ coordinates
◆ SensitiveDetector()
◆ ~SensitiveDetector()
SensitiveDetector::~SensitiveDetector |
( |
| ) |
|
|
override |
◆ AssignSD()
void SensitiveDetector::AssignSD |
( |
const std::string & |
vname | ) |
|
|
private |
Definition at line 44 of file SensitiveDetector.cc.
Referenced by SensitiveDetector().
45 G4LogicalVolumeStore* theStore = G4LogicalVolumeStore::GetInstance();
46 for (
auto& lv : *theStore) {
47 if (vname == lv->GetName()) {
48 lv->SetSensitiveDetector(
this);
◆ clearHits()
virtual void SensitiveDetector::clearHits |
( |
| ) |
|
|
pure virtual |
Implemented in CaloSD, FP420SD, PPSPixelSD, TotemSD, MuonSensitiveDetector, FiberSD, TkAccumulatingSensitiveDetector, CaloTrkProcessing, PPSDiamondSD, TotemRPSD, TimingSD, HFChamberSD, and HFWedgeSD.
◆ cmsTrackInformation()
TrackInformation * SensitiveDetector::cmsTrackInformation |
( |
const G4Track * |
aTrack | ) |
|
|
protected |
Definition at line 91 of file SensitiveDetector.cc.
References info().
Referenced by TkAccumulatingSensitiveDetector::createHit(), MuonSensitiveDetector::createHit(), CaloSD::createNewHit(), CaloSD::findBoundaryCrossingParent(), CaloSD::getResponseWt(), TimingSD::getStepInfo(), CaloSD::getTrackID(), CaloSD::setTrackID(), TkAccumulatingSensitiveDetector::update(), and CaloSD::update().
93 if (
nullptr ==
info) {
94 edm::LogWarning(
"SensitiveDetector") <<
" no TrackInformation available for trackID= " << aTrack->GetTrackID()
95 <<
" inside SD " << GetName();
97 "SensitiveDetector::cmsTrackInformation()",
"sd01", FatalException,
"cannot handle hits without trackinfo");
Log< level::Warning, false > LogWarning
◆ ConvertToLocal3DPoint()
Local3DPoint SensitiveDetector::ConvertToLocal3DPoint |
( |
const G4ThreeVector & |
point | ) |
const |
|
inlineprotected |
Definition at line 46 of file SensitiveDetector.h.
References point.
Referenced by TkAccumulatingSensitiveDetector::createHit(), MuonSensitiveDetector::createHit(), TimingSD::EndOfEvent(), FinalStepPosition(), MuonSensitiveDetector::FinalStepPositionVsParent(), InitialStepPosition(), MuonSensitiveDetector::InitialStepPositionVsParent(), LocalPostStepPosition(), LocalPreStepPosition(), TotemRPSD::stepInfo(), PPSDiamondSD::stepInfo(), and TkAccumulatingSensitiveDetector::updateHit().
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Point3DBase< float, LocalTag > Local3DPoint
◆ EndOfEvent()
void SensitiveDetector::EndOfEvent |
( |
G4HCofThisEvent * |
eventHC | ) |
|
|
override |
◆ FinalStepPosition()
◆ getNames()
const std::vector<std::string>& SensitiveDetector::getNames |
( |
| ) |
const |
|
inline |
◆ Initialize()
void SensitiveDetector::Initialize |
( |
G4HCofThisEvent * |
eventHC | ) |
|
|
override |
◆ InitialStepPosition()
◆ isCaloSD()
bool SensitiveDetector::isCaloSD |
( |
| ) |
const |
|
inline |
◆ LocalPostStepPosition()
Local3DPoint SensitiveDetector::LocalPostStepPosition |
( |
const G4Step * |
step | ) |
const |
|
protected |
◆ LocalPreStepPosition()
Local3DPoint SensitiveDetector::LocalPreStepPosition |
( |
const G4Step * |
step | ) |
const |
|
protected |
◆ NaNTrap()
void SensitiveDetector::NaNTrap |
( |
const G4Step * |
step | ) |
const |
|
protected |
Definition at line 107 of file SensitiveDetector.cc.
References edm::isNotFinite().
Referenced by CaloSD::ProcessHits().
108 const G4Track* currentTrk = aStep->GetTrack();
109 const G4ThreeVector& currentPos = currentTrk->GetPosition();
110 double xyz = currentPos.x() + currentPos.y() + currentPos.z();
111 const G4ThreeVector& currentMom = currentTrk->GetMomentum();
112 xyz += currentMom.x() + currentMom.y() + currentMom.z();
115 const G4VPhysicalVolume* pCurrentVol = aStep->GetPreStepPoint()->GetPhysicalVolume();
116 edm::LogWarning(
"SensitiveDetector") <<
"NaN detected for trackID= " << currentTrk->GetTrackID() <<
" inside " 117 << pCurrentVol->GetName();
118 G4Exception(
"SensitiveDetector::NaNTrap()",
"sd01", FatalException,
"corrupted event or step");
constexpr bool isNotFinite(T x)
Log< level::Warning, false > LogWarning
◆ ProcessHits()
G4bool SensitiveDetector::ProcessHits |
( |
G4Step * |
step, |
|
|
G4TouchableHistory * |
tHistory |
|
) |
| |
|
overridepure virtual |
Implemented in CaloSD, PPSPixelSD, FP420SD, TotemSD, MuonSensitiveDetector, CaloTrkProcessing, FiberSD, TkAccumulatingSensitiveDetector, PPSDiamondSD, TotemRPSD, TimingSD, HFChamberSD, and HFWedgeSD.
◆ setDetUnitId()
virtual uint32_t SensitiveDetector::setDetUnitId |
( |
const G4Step * |
step | ) |
|
|
pure virtual |
Implemented in PPSPixelSD, CaloSD, FP420SD, TotemSD, FiberSD, HCalSD, MuonSensitiveDetector, CaloTrkProcessing, PPSDiamondSD, TotemRPSD, TkAccumulatingSensitiveDetector, ECalSD, HcalTB02SD, CastorSD, HFChamberSD, HFWedgeSD, DreamSD, HGCSD, HFNoseSD, HGCalSD, HGCScintSD, EcalTBH4BeamSD, HcalTB06BeamSD, MtdSD, BHMSD, BscSD, ZdcSD, HGCalTB16SD01, Bcm1fSD, PltSD, AHCalSD, and TotemT2ScintSD.
Referenced by TimingSD::getStepInfo().
◆ setNames()
void SensitiveDetector::setNames |
( |
const std::vector< std::string > & |
hnames | ) |
|
|
protected |
◆ m_isCalo
bool SensitiveDetector::m_isCalo |
|
private |
◆ m_namesOfSD
std::vector<std::string> SensitiveDetector::m_namesOfSD |
|
private |