#include <MuonSensitiveDetector.h>
Public Member Functions | |
void | EndOfEvent (G4HCofThisEvent *) override |
void | fillHits (edm::PSimHitContainer &, std::string use) override |
std::vector< std::string > | getNames () override |
const MuonSlaveSD * | GetSlaveMuon () const |
MuonSensitiveDetector (std::string, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
G4bool | ProcessHits (G4Step *, G4TouchableHistory *) override |
uint32_t | setDetUnitId (G4Step *) override |
std::string | type () |
~MuonSensitiveDetector () override | |
Public Member Functions inherited from SensitiveTkDetector | |
SensitiveTkDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
Public Member Functions inherited from SensitiveDetector | |
virtual void | AssignSD (const std::string &vname) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
Local3DPoint | FinalStepPosition (G4Step *s, coordinates) |
void | Initialize (G4HCofThisEvent *eventHC) override |
Local3DPoint | InitialStepPosition (G4Step *s, coordinates) |
std::string | nameOfSD () |
void | NaNTrap (G4Step *step) |
void | Register () |
SensitiveDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p) | |
~SensitiveDetector () override | |
Public Member Functions inherited from Observer< const BeginOfEvent * > | |
Observer () | |
void | slotForUpdate (const BeginOfEvent * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfEvent * > | |
Observer () | |
void | slotForUpdate (const EndOfEvent * iT) |
virtual | ~Observer () |
Private Member Functions | |
void | clearHits () override |
void | createHit (G4Step *) |
Local3DPoint | FinalStepPositionVsParent (G4Step *currentStep, G4int levelsUp) |
TrackInformation * | getOrCreateTrackInformation (const G4Track *theTrack) |
Local3DPoint | InitialStepPositionVsParent (G4Step *currentStep, G4int levelsUp) |
bool | newHit (G4Step *) |
void | saveHit () |
void | storeVolumeAndTrack (G4Step *) |
Local3DPoint | toOrcaRef (Local3DPoint in, G4Step *s) |
Local3DPoint | toOrcaUnits (Local3DPoint) |
Global3DPoint | toOrcaUnits (Global3DPoint) |
void | update (const BeginOfEvent *) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const ::EndOfEvent *) override |
void | updateHit (G4Step *) |
Private Attributes | |
MuonSubDetector * | detector |
MuonG4Numbering * | g4numbering |
G4TrackToParticleID * | myG4TrackToParticleID |
MuonSimHitNumberingScheme * | numbering |
bool | printHits |
MuonSlaveSD * | slaveMuon |
bool | STallMuonsPersistent |
double | STenergyPersistentCut |
uint32_t | theDetUnitId |
G4ProcessTypeEnumerator * | theG4ProcessTypeEnumerator |
Global3DPoint | theGlobalEntry |
UpdatablePSimHit * | theHit |
const SimTrackManager * | theManager |
SimHitPrinter * | thePrinter |
G4VPhysicalVolume * | thePV |
MuonFrameRotation * | theRotation |
unsigned int | theTrackID |
Additional Inherited Members | |
Public Types inherited from SensitiveDetector | |
enum | coordinates { WorldCoordinates, LocalCoordinates } |
Protected Member Functions inherited from Observer< const EndOfEvent * > | |
virtual void | update (const EndOfEvent *)=0 |
This routine will be called when the appropriate signal arrives. More... | |
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 45 of file MuonSensitiveDetector.h.
MuonSensitiveDetector::MuonSensitiveDetector | ( | std::string | name, |
const DDCompactView & | cpv, | ||
const SensitiveDetectorCatalog & | clg, | ||
edm::ParameterSet const & | p, | ||
const SimTrackManager * | manager | ||
) |
Definition at line 32 of file MuonSensitiveDetector.cc.
References SensitiveDetector::AssignSD(), detector, g4numbering, edm::ParameterSet::getParameter(), MuonSubDetector::isEndcap(), MuonSubDetector::isGEM(), MuonSubDetector::isME0(), MuonSubDetector::isRPC(), LogDebug, SensitiveDetectorCatalog::logicalNames(), myG4TrackToParticleID, numbering, printHits, SensitiveDetector::Register(), slaveMuon, STallMuonsPersistent, STenergyPersistentCut, theG4ProcessTypeEnumerator, theManager, thePrinter, and theRotation.
|
override |
Definition at line 102 of file MuonSensitiveDetector.cc.
References detector, g4numbering, myG4TrackToParticleID, numbering, slaveMuon, theG4ProcessTypeEnumerator, and theRotation.
|
overrideprivatevirtual |
Implements SensitiveDetector.
Definition at line 130 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::Initialize(), LogDebug, and slaveMuon.
Referenced by GetSlaveMuon(), and update().
|
private |
Definition at line 218 of file MuonSensitiveDetector.cc.
References funct::abs(), SensitiveDetector::ConvertToLocal3DPoint(), detector, SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), getOrCreateTrackInformation(), GeV, info(), SensitiveDetector::InitialStepPosition(), InitialStepPositionVsParent(), MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, LogDebug, mag(), myG4TrackToParticleID, AlCaHLTBitMon_ParallelJobs::p, p2, G4TrackToParticleID::particleID(), PV3DBase< T, PVType, FrameType >::phi(), printHits, G4ProcessTypeEnumerator::processId(), setDetUnitId(), STallMuonsPersistent, STenergyPersistentCut, TrackInformation::storeTrack(), storeVolumeAndTrack(), theDetUnitId, theG4ProcessTypeEnumerator, theGlobalEntry, theHit, thePV, PV3DBase< T, PVType, FrameType >::theta(), theTrackID, toOrcaRef(), toOrcaUnits(), csvLumiCalc::unit, SensitiveDetector::WorldCoordinates, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by ProcessHits().
|
override |
Definition at line 404 of file MuonSensitiveDetector.cc.
References saveHit().
|
overridevirtual |
Implements SensitiveTkDetector.
Definition at line 412 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::hits(), gen::n, TrackingSlaveSD::name(), and slaveMuon.
|
private |
Definition at line 442 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and particleFlowClusterECALTimeSelected_cfi::depth.
Referenced by createHit(), and updateHit().
|
overridevirtual |
Reimplemented from SensitiveDetector.
Definition at line 421 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::name(), slaveMuon, and groupFilesInBlocks::temp.
|
private |
Definition at line 388 of file MuonSensitiveDetector.cc.
References MessageLogger_cfi::cerr, info(), and groupFilesInBlocks::temp.
Referenced by createHit(), and GetSlaveMuon().
|
inline |
Definition at line 64 of file MuonSensitiveDetector.h.
References clearHits(), getOrCreateTrackInformation(), recoMuon::in, alignCSCRings::s, slaveMuon, toOrcaRef(), toOrcaUnits(), and update().
|
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 427 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint(), and particleFlowClusterECALTimeSelected_cfi::depth.
Referenced by createHit().
|
private |
Definition at line 204 of file MuonSensitiveDetector.cc.
References LogDebug, MetAnalyzer::pv(), setDetUnitId(), lumiQTWidget::t, theDetUnitId, thePV, and theTrackID.
Referenced by ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 136 of file MuonSensitiveDetector.cc.
References createHit(), SensitiveDetector::InitialStepPosition(), LogDebug, newHit(), saveHit(), storeVolumeAndTrack(), updateHit(), and SensitiveDetector::WorldCoordinates.
|
private |
Definition at line 367 of file MuonSensitiveDetector.cc.
References detector, PSimHit::detUnitId(), PSimHit::entryPoint(), PSimHit::exitPoint(), MuonSubDetector::name(), SimHitPrinter::printGlobal(), printHits, SimHitPrinter::printId(), SimHitPrinter::printLocal(), TrackingSlaveSD::processHits(), slaveMuon, SimHitPrinter::startNewSimHit(), theGlobalEntry, theHit, and thePrinter.
Referenced by EndOfEvent(), and ProcessHits().
|
overridevirtual |
Implements SensitiveDetector.
Definition at line 161 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 createHit(), and newHit().
|
private |
Definition at line 197 of file MuonSensitiveDetector.cc.
References MetAnalyzer::pv(), lumiQTWidget::t, thePV, and theTrackID.
Referenced by createHit(), and ProcessHits().
|
private |
Definition at line 182 of file MuonSensitiveDetector.cc.
References theRotation, and MuonFrameRotation::transformPoint().
Referenced by createHit(), GetSlaveMuon(), and updateHit().
|
private |
Definition at line 189 of file MuonSensitiveDetector.cc.
References PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by createHit(), GetSlaveMuon(), and updateHit().
|
private |
Definition at line 193 of file MuonSensitiveDetector.cc.
References PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
std::string MuonSensitiveDetector::type | ( | ) |
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfEvent * >.
Definition at line 114 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().
|
overrideprivate |
Definition at line 124 of file MuonSensitiveDetector.cc.
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(), 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 322 of file MuonSensitiveDetector.cc.
References UpdatablePSimHit::addEnergyLoss(), MessageLogger_cfi::cerr, detector, PSimHit::energyLoss(), PSimHit::entryPoint(), SensitiveDetector::FinalStepPosition(), FinalStepPositionVsParent(), GeV, MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), SensitiveDetector::LocalCoordinates, LogDebug, mag(), AlCaHLTBitMon_ParallelJobs::p, p2, theDetUnitId, theHit, thePV, toOrcaRef(), toOrcaUnits(), csvLumiCalc::unit, 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 81 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), saveHit(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 83 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 114 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 80 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 104 of file MuonSensitiveDetector.h.
Referenced by ntuplePrintersDiff.TrackingParticlePrinter::__call__(), createHit(), ntuplePrintersDiff.SeedPrinter::diff(), ntuplePrintersDiff.TrackPrinter::diff(), ntuplePrintersDiff.TrackingParticlePrinter::diff(), MuonSensitiveDetector(), ntuplePrintersDiff.SeedPrinter::printSeed(), ntuplePrintersDiff.TrackPrinter::printTrack(), and saveHit().
|
private |
Definition at line 79 of file MuonSensitiveDetector.h.
Referenced by clearHits(), fillHits(), getNames(), GetSlaveMuon(), MuonSensitiveDetector(), saveHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 110 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 109 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 101 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), update(), and updateHit().
|
private |
Definition at line 112 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 106 of file MuonSensitiveDetector.h.
Referenced by createHit(), and saveHit().
|
private |
Definition at line 100 of file MuonSensitiveDetector.h.
Referenced by createHit(), saveHit(), and updateHit().
|
private |
Definition at line 115 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector().
|
private |
Definition at line 105 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 99 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), storeVolumeAndTrack(), update(), and updateHit().
|
private |
Definition at line 82 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), toOrcaRef(), and ~MuonSensitiveDetector().
|
private |
Definition at line 102 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), storeVolumeAndTrack(), and update().