#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 DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, 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 DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
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 DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, 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 |
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 36 of file MuonSensitiveDetector.h.
|
explicit |
Definition at line 35 of file MuonSensitiveDetector.cc.
References allMuonsPersistent, detector, ePersistentCutGeV, g4numbering, edm::ParameterSet::getParameter(), GeV, MuonSubDetector::isEndcap(), MuonSubDetector::isGEM(), MuonSubDetector::isME0(), MuonSubDetector::isRPC(), LogDebug, dataset::name, numbering, printHits, slaveMuon, theG4ProcessTypeEnumerator, theManager, thePrinter, and theRotation.
|
override |
Definition at line 89 of file MuonSensitiveDetector.cc.
References detector, g4numbering, numbering, slaveMuon, theG4ProcessTypeEnumerator, and theRotation.
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 106 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::Initialize(), LogDebug, and slaveMuon.
Referenced by update().
|
inlineprivate |
Definition at line 61 of file MuonSensitiveDetector.h.
References PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by createHit(), and updateHit().
|
private |
Definition at line 168 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(), TrackInformation::storeTrack(), 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 311 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::hits(), TrackingSlaveSD::name(), and slaveMuon.
|
private |
Definition at line 330 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and egammaForCoreTracking_cff::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 315 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and egammaForCoreTracking_cff::depth.
Referenced by createHit().
|
private |
Definition at line 161 of file MuonSensitiveDetector.cc.
References newDetUnitId, theDetUnitId, theHit, thePV, and theTrackID.
Referenced by ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 112 of file MuonSensitiveDetector.cc.
References createHit(), SensitiveDetector::InitialStepPosition(), LogDebug, newDetUnitId, newHit(), saveHit(), setDetUnitId(), theDetUnitId, thePV, theTrackID, updateHit(), and SensitiveDetector::WorldCoordinates.
|
private |
Definition at line 292 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 140 of file MuonSensitiveDetector.cc.
References MuonSimHitNumberingScheme::baseNumberToUnitNumber(), g4numbering, MuonBaseNumber::getBaseNo(), MuonBaseNumber::getLevels(), MuonBaseNumber::getSuperNo(), hcalDigis_cfi::level, LogDebug, pileupDistInMC::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 98 of file MuonSensitiveDetector.cc.
References clearHits(), theDetUnitId, thePV, and theTrackID.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), GetSlaveMuon(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
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 94 of file MuonSensitiveDetector.h.
Referenced by createHit(), 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 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 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 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 96 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 98 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().