#include <MuonSensitiveDetector.h>
Public Member Functions | |
void | clearHits () override |
void | EndOfEvent (G4HCofThisEvent *) override |
void | fillHits (edm::PSimHitContainer &, const std::string &) override |
const MuonSlaveSD * | GetSlaveMuon () const |
MuonSensitiveDetector (const std::string &, const MuonOffsetMap *, const MuonGeometryConstants &, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, const SimTrackManager *) | |
G4bool | ProcessHits (G4Step *, G4TouchableHistory *) override |
uint32_t | setDetUnitId (const G4Step *) override |
~MuonSensitiveDetector () override | |
Public Member Functions inherited from SensitiveTkDetector | |
SensitiveTkDetector (const std::string &iname, const SensitiveDetectorCatalog &clg) | |
Public Member Functions inherited from SensitiveDetector | |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
const std::vector< std::string > & | getNames () const |
void | Initialize (G4HCofThisEvent *eventHC) override |
bool | isCaloSD () const |
SensitiveDetector (const std::string &iname, const SensitiveDetectorCatalog &, bool calo) | |
~SensitiveDetector () override | |
Public Member Functions inherited from Observer< const BeginOfEvent *> | |
Observer () | |
void | slotForUpdate (const BeginOfEvent * iT) |
virtual | ~Observer () |
Protected Member Functions | |
void | update (const BeginOfEvent *) override |
This routine will be called when the appropriate signal arrives. More... | |
Protected Member Functions inherited from SensitiveDetector | |
TrackInformation * | cmsTrackInformation (const G4Track *aTrack) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) const |
Local3DPoint | FinalStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | InitialStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | LocalPostStepPosition (const G4Step *step) const |
Local3DPoint | LocalPreStepPosition (const G4Step *step) const |
void | NaNTrap (const G4Step *step) const |
void | setNames (const std::vector< std::string > &) |
Private Member Functions | |
bool | acceptHit (uint32_t id) |
Local3DPoint | cmsUnits (const Local3DPoint &v) |
void | createHit (const G4Step *) |
Local3DPoint | FinalStepPositionVsParent (const G4Step *currentStep, G4int levelsUp) |
Local3DPoint | InitialStepPositionVsParent (const G4Step *currentStep, G4int levelsUp) |
bool | newHit (const G4Step *) |
void | saveHit () |
void | updateHit (const G4Step *) |
Private Attributes | |
bool | allMuonsPersistent_ |
bool | demoGEM_ |
bool | demoRPC_ |
MuonSubDetector * | detector |
float | ePersistentCutGeV_ |
MuonG4Numbering * | g4numbering |
bool | haveDemo_ |
uint32_t | newDetUnitId |
MuonSimHitNumberingScheme * | numbering |
bool | printHits_ |
MuonSlaveSD * | slaveMuon |
uint32_t | theDetUnitId |
G4ProcessTypeEnumerator * | theG4ProcessTypeEnumerator |
UpdatablePSimHit * | theHit |
const SimTrackManager * | theManager |
SimHitPrinter * | thePrinter |
const G4VPhysicalVolume * | thePV |
const MuonFrameRotation * | theRotation |
int | theTrackID |
Additional Inherited Members | |
Protected Types inherited from SensitiveDetector | |
enum | coordinates { WorldCoordinates, LocalCoordinates } |
implementation of SensitiveDetector for the muon detector; a MuonSlaveSD handles the interfacing to the database; numbering scheme are booked according to the detector name
Modification: 19/05/03. P.Arce Add SimTracks selection
Definition at line 39 of file MuonSensitiveDetector.h.
|
explicit |
Definition at line 39 of file MuonSensitiveDetector.cc.
References allMuonsPersistent_, demoGEM_, demoRPC_, detector, ePersistentCutGeV_, g4numbering, haveDemo_, MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), MuonSubDetector::isGEM(), MuonSubDetector::isME0(), MuonSubDetector::isRPC(), Skims_PA_cff::name, numbering, AlCaHLTBitMon_ParallelJobs::p, printHits_, slaveMuon, theG4ProcessTypeEnumerator, theManager, thePrinter, and theRotation.
|
override |
Definition at line 103 of file MuonSensitiveDetector.cc.
References detector, g4numbering, numbering, slaveMuon, theG4ProcessTypeEnumerator, and theRotation.
|
private |
Definition at line 357 of file MuonSensitiveDetector.cc.
References MuonSubdetId::CSC, TauDecayModes::dec, demoGEM_, demoRPC_, MuonSubdetId::DT, RemoveAddSevLevel::flag, MuonSubdetId::GEM, haveDemo_, MuonSubdetId::ME0, HLT_2023v12_cff::region, relativeConstraints::ring, MuonSubdetId::RPC, relativeConstraints::station, and DetId::subdetId().
Referenced by saveHit().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 120 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::Initialize(), and slaveMuon.
Referenced by update().
|
inlineprivate |
Definition at line 61 of file MuonSensitiveDetector.h.
References findQualityFiles::v.
Referenced by createHit(), and updateHit().
|
private |
Definition at line 178 of file MuonSensitiveDetector.cc.
References funct::abs(), allMuonsPersistent_, SensitiveDetector::cmsTrackInformation(), cmsUnits(), SensitiveDetector::ConvertToLocal3DPoint(), detector, ePersistentCutGeV_, SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), info(), SensitiveDetector::InitialStepPosition(), InitialStepPositionVsParent(), MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, PV3DBase< T, PVType, FrameType >::mag(), newDetUnitId, AlCaHLTBitMon_ParallelJobs::p, SiStripOfflineCRack_cfg::p2, G4TrackToParticleID::particleID(), PV3DBase< T, PVType, FrameType >::phi(), G4ProcessTypeEnumerator::processId(), theDetUnitId, theG4ProcessTypeEnumerator, theHit, thePV, theRotation, PV3DBase< T, PVType, FrameType >::theta(), theTrackID, MuonFrameRotation::transformPoint(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by ProcessHits().
|
override |
|
overridevirtual |
Implements SensitiveTkDetector.
Definition at line 324 of file MuonSensitiveDetector.cc.
References gpuPixelDoublets::cc, TrackingSlaveSD::hits(), TrackingSlaveSD::name(), and slaveMuon.
|
private |
Definition at line 343 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and LEDCalibrationChannels::depth.
Referenced by createHit(), and updateHit().
|
inline |
|
private |
Transform from local coordinates of a volume to local coordinates of a parent volume one or more levels up the volume hierarchy: e.g. levelsUp = 1 for immediate parent. This is done by moving from local_1 -> global -> local_2.
Definition at line 330 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and LEDCalibrationChannels::depth.
Referenced by createHit().
|
private |
Definition at line 173 of file MuonSensitiveDetector.cc.
References newDetUnitId, theDetUnitId, theHit, thePV, and theTrackID.
Referenced by ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 127 of file MuonSensitiveDetector.cc.
References createHit(), SensitiveDetector::InitialStepPosition(), Skims_PA_cff::name, newDetUnitId, newHit(), saveHit(), setDetUnitId(), AlCaHLTBitMon_QueryRunRegistry::string, theDetUnitId, thePV, theTrackID, updateHit(), and SensitiveDetector::WorldCoordinates.
|
private |
Definition at line 306 of file MuonSensitiveDetector.cc.
References acceptHit(), detector, PSimHit::detUnitId(), PSimHit::entryPoint(), PSimHit::exitPoint(), MuonSubDetector::name(), printHits_, SimHitPrinter::printId(), SimHitPrinter::printLocal(), TrackingSlaveSD::processHits(), slaveMuon, SimHitPrinter::startNewSimHit(), theHit, and thePrinter.
Referenced by EndOfEvent(), and ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 154 of file MuonSensitiveDetector.cc.
References MuonSimHitNumberingScheme::baseNumberToUnitNumber(), g4numbering, personalPlayback::level, EgammaValidation_cff::num, numbering, MuonG4Numbering::PhysicalVolumeToBaseNumber(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by ProcessHits().
|
overrideprotectedvirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfEvent *>.
Definition at line 112 of file MuonSensitiveDetector.cc.
References clearHits(), theDetUnitId, thePV, and theTrackID.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().
|
private |
Definition at line 268 of file MuonSensitiveDetector.cc.
References UpdatablePSimHit::addEnergyLoss(), cmsUnits(), detector, SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, AlCaHLTBitMon_ParallelJobs::p, SiStripOfflineCRack_cfg::p2, theDetUnitId, theHit, thePV, theRotation, theTrackID, MuonFrameRotation::transformPoint(), UpdatablePSimHit::updateExitPoint(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by ProcessHits().
|
private |
Definition at line 94 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 98 of file MuonSensitiveDetector.h.
Referenced by acceptHit(), and MuonSensitiveDetector().
|
private |
Definition at line 99 of file MuonSensitiveDetector.h.
Referenced by acceptHit(), and MuonSensitiveDetector().
|
private |
Definition at line 66 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), saveHit(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 93 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 68 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 97 of file MuonSensitiveDetector.h.
Referenced by acceptHit(), and MuonSensitiveDetector().
|
private |
Definition at line 86 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), and ProcessHits().
|
private |
Definition at line 65 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 89 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 64 of file MuonSensitiveDetector.h.
Referenced by clearHits(), fillHits(), GetSlaveMuon(), MuonSensitiveDetector(), saveHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 85 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().
|
private |
Definition at line 101 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 84 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), saveHit(), and updateHit().
|
private |
Definition at line 103 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector().
|
private |
Definition at line 90 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 83 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().
|
private |
Definition at line 67 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 87 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().