#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 &, double ePersistentCutGeV, bool allMuonsPersistent, bool aPrintHits, bool dd4hep, 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 | |
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 |
MuonSubDetector * | detector |
float | ePersistentCutGeV |
MuonG4Numbering * | g4numbering |
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 38 of file MuonSensitiveDetector.h.
|
explicit |
Definition at line 35 of file MuonSensitiveDetector.cc.
References allMuonsPersistent, detector, ePersistentCutGeV, g4numbering, GeV, MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), MuonSubDetector::isGEM(), MuonSubDetector::isME0(), MuonSubDetector::isRPC(), Skims_PA_cff::name, numbering, printHits, slaveMuon, theG4ProcessTypeEnumerator, theManager, thePrinter, and theRotation.
|
override |
Definition at line 94 of file MuonSensitiveDetector.cc.
References detector, g4numbering, numbering, slaveMuon, theG4ProcessTypeEnumerator, and theRotation.
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 111 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::Initialize(), and slaveMuon.
Referenced by update().
|
inlineprivate |
Definition at line 63 of file MuonSensitiveDetector.h.
References findQualityFiles::v.
Referenced by createHit(), and updateHit().
|
private |
Definition at line 163 of file MuonSensitiveDetector.cc.
References funct::abs(), allMuonsPersistent, SensitiveDetector::cmsTrackInformation(), cmsUnits(), SensitiveDetector::ConvertToLocal3DPoint(), detector, ePersistentCutGeV, SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), GeV, info(), SensitiveDetector::InitialStepPosition(), InitialStepPositionVsParent(), MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, PV3DBase< T, PVType, FrameType >::mag(), newDetUnitId, AlCaHLTBitMon_ParallelJobs::p, 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 307 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::hits(), TrackingSlaveSD::name(), and slaveMuon.
|
private |
Definition at line 326 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 313 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and LEDCalibrationChannels::depth.
Referenced by createHit().
|
private |
Definition at line 158 of file MuonSensitiveDetector.cc.
References newDetUnitId, theDetUnitId, theHit, thePV, and theTrackID.
Referenced by ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 118 of file MuonSensitiveDetector.cc.
References createHit(), SensitiveDetector::InitialStepPosition(), newDetUnitId, newHit(), saveHit(), setDetUnitId(), theDetUnitId, thePV, theTrackID, updateHit(), and SensitiveDetector::WorldCoordinates.
|
private |
Definition at line 291 of file MuonSensitiveDetector.cc.
References 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 139 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 103 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 253 of file MuonSensitiveDetector.cc.
References UpdatablePSimHit::addEnergyLoss(), cmsUnits(), detector, SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), GeV, MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, AlCaHLTBitMon_ParallelJobs::p, 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 95 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 67 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), saveHit(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 94 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 69 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 87 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), and ProcessHits().
|
private |
Definition at line 66 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 90 of file MuonSensitiveDetector.h.
Referenced by ntuplePrintersDiff.TrackingParticlePrinter::__call__(), ntuplePrintersDiff.SeedPrinter::diff(), ntuplePrintersDiff.TrackPrinter::diff(), ntuplePrintersDiff.TrackingParticlePrinter::diff(), MuonSensitiveDetector(), ntuplePrintersDiff.SeedPrinter::printSeed(), ntuplePrintersDiff.TrackPrinter::printTrack(), and saveHit().
|
private |
Definition at line 65 of file MuonSensitiveDetector.h.
Referenced by clearHits(), fillHits(), GetSlaveMuon(), MuonSensitiveDetector(), saveHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 86 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().
|
private |
Definition at line 97 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 85 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), saveHit(), and updateHit().
|
private |
Definition at line 99 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector().
|
private |
Definition at line 91 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 84 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().
|
private |
Definition at line 68 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 88 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), ProcessHits(), update(), and updateHit().