#include <MuonSensitiveDetector.h>
Public Member Functions | |
virtual void | EndOfEvent (G4HCofThisEvent *) |
void | fillHits (edm::PSimHitContainer &, std::string use) |
std::vector< std::string > | getNames () |
const MuonSlaveSD * | GetSlaveMuon () const |
MuonSensitiveDetector (std::string, const DDCompactView &, SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
virtual G4bool | ProcessHits (G4Step *, G4TouchableHistory *) |
virtual uint32_t | setDetUnitId (G4Step *) |
std::string | type () |
virtual | ~MuonSensitiveDetector () |
Public Member Functions inherited from SensitiveTkDetector | |
SensitiveTkDetector (std::string &iname, const DDCompactView &cpv, SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
Public Member Functions inherited from SensitiveDetector | |
virtual void | AssignSD (std::string &vname) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) |
Local3DPoint | FinalStepPosition (G4Step *s, coordinates) |
virtual void | Initialize (G4HCofThisEvent *eventHC) |
Local3DPoint | InitialStepPosition (G4Step *s, coordinates) |
std::string | nameOfSD () |
void | NaNTrap (G4Step *step) |
void | Register () |
SensitiveDetector (std::string &iname, const DDCompactView &cpv, SensitiveDetectorCatalog &, edm::ParameterSet const &p) | |
virtual | ~SensitiveDetector () |
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 | |
virtual void | clearHits () |
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 *) |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const ::EndOfEvent *) |
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 44 of file MuonSensitiveDetector.h.
MuonSensitiveDetector::MuonSensitiveDetector | ( | std::string | name, |
const DDCompactView & | cpv, | ||
SensitiveDetectorCatalog & | clg, | ||
edm::ParameterSet const & | p, | ||
const SimTrackManager * | manager | ||
) |
Definition at line 30 of file MuonSensitiveDetector.cc.
References SensitiveDetector::AssignSD(), detector, g4numbering, edm::ParameterSet::getParameter(), MuonSubDetector::isEndcap(), MuonSubDetector::isGem(), MuonSubDetector::isRpc(), LogDebug, SensitiveDetectorCatalog::logicalNames(), myG4TrackToParticleID, numbering, printHits, SensitiveDetector::Register(), slaveMuon, STallMuonsPersistent, STenergyPersistentCut, theG4ProcessTypeEnumerator, theManager, thePrinter, and theRotation.
|
virtual |
Definition at line 95 of file MuonSensitiveDetector.cc.
References detector, g4numbering, myG4TrackToParticleID, numbering, slaveMuon, theG4ProcessTypeEnumerator, and theRotation.
|
privatevirtual |
Implements SensitiveDetector.
Definition at line 123 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::Initialize(), LogDebug, and slaveMuon.
Referenced by update().
|
private |
Definition at line 197 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().
|
virtual |
Reimplemented from SensitiveDetector.
Definition at line 383 of file MuonSensitiveDetector.cc.
References saveHit().
|
virtual |
Implements SensitiveTkDetector.
Definition at line 391 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::hits(), n, TrackingSlaveSD::name(), and slaveMuon.
|
private |
Definition at line 421 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint().
Referenced by createHit(), and updateHit().
|
virtual |
Reimplemented from SensitiveDetector.
Definition at line 400 of file MuonSensitiveDetector.cc.
References TrackingSlaveSD::name(), slaveMuon, and groupFilesInBlocks::temp.
|
private |
Definition at line 367 of file MuonSensitiveDetector.cc.
References dtNoiseDBValidation_cfg::cerr, info(), and groupFilesInBlocks::temp.
Referenced by createHit().
|
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 406 of file MuonSensitiveDetector.cc.
References SensitiveDetector::ConvertToLocal3DPoint().
Referenced by createHit().
|
private |
Definition at line 184 of file MuonSensitiveDetector.cc.
References setDetUnitId(), edmStreamStallGrapher::t, theDetUnitId, thePV, and theTrackID.
Referenced by ProcessHits().
|
virtual |
Implements SensitiveDetector.
Definition at line 129 of file MuonSensitiveDetector.cc.
References createHit(), SensitiveDetector::InitialStepPosition(), LogDebug, newHit(), saveHit(), storeVolumeAndTrack(), updateHit(), and SensitiveDetector::WorldCoordinates.
|
private |
Definition at line 346 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().
|
virtual |
Implements SensitiveDetector.
Definition at line 154 of file MuonSensitiveDetector.cc.
References MuonSimHitNumberingScheme::baseNumberToUnitNumber(), g4numbering, pileupDistInMC::num, numbering, and MuonG4Numbering::PhysicalVolumeToBaseNumber().
Referenced by createHit(), and newHit().
|
private |
Definition at line 177 of file MuonSensitiveDetector.cc.
References edmStreamStallGrapher::t, thePV, and theTrackID.
Referenced by createHit(), and ProcessHits().
|
private |
Definition at line 162 of file MuonSensitiveDetector.cc.
References theRotation, and MuonFrameRotation::transformPoint().
Referenced by createHit(), and updateHit().
|
private |
Definition at line 169 of file MuonSensitiveDetector.cc.
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 173 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 | ( | ) |
Referenced by cuy.ValElement::__init__().
|
privatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfEvent * >.
Definition at line 107 of file MuonSensitiveDetector.cc.
References clearHits(), theDetUnitId, thePV, and theTrackID.
Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.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(), relval_steps.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 117 of file MuonSensitiveDetector.cc.
Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.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(), relval_steps.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 301 of file MuonSensitiveDetector.cc.
References UpdatablePSimHit::addEnergyLoss(), dtNoiseDBValidation_cfg::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 80 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), saveHit(), updateHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 82 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 113 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 79 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), setDetUnitId(), and ~MuonSensitiveDetector().
|
private |
Definition at line 103 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 78 of file MuonSensitiveDetector.h.
Referenced by clearHits(), fillHits(), getNames(), GetSlaveMuon(), MuonSensitiveDetector(), saveHit(), and ~MuonSensitiveDetector().
|
private |
Definition at line 109 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 108 of file MuonSensitiveDetector.h.
Referenced by createHit(), and MuonSensitiveDetector().
|
private |
Definition at line 100 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), update(), and updateHit().
|
private |
Definition at line 111 of file MuonSensitiveDetector.h.
Referenced by createHit(), MuonSensitiveDetector(), and ~MuonSensitiveDetector().
|
private |
Definition at line 105 of file MuonSensitiveDetector.h.
Referenced by createHit(), and saveHit().
|
private |
Definition at line 99 of file MuonSensitiveDetector.h.
Referenced by createHit(), saveHit(), and updateHit().
|
private |
Definition at line 114 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector().
|
private |
Definition at line 104 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), and saveHit().
|
private |
Definition at line 98 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), storeVolumeAndTrack(), update(), and updateHit().
|
private |
Definition at line 81 of file MuonSensitiveDetector.h.
Referenced by MuonSensitiveDetector(), toOrcaRef(), and ~MuonSensitiveDetector().
|
private |
Definition at line 101 of file MuonSensitiveDetector.h.
Referenced by createHit(), newHit(), storeVolumeAndTrack(), and update().