CMS 3D CMS Logo

Public Member Functions | Protected Attributes | Friends

PSimHit Class Reference

#include <PSimHit.h>

Inheritance diagram for PSimHit:
UpdatablePSimHit

List of all members.

Public Member Functions

unsigned int detUnitId () const
float energyLoss () const
 The energy deposit in the PSimHit, in ???.
Local3DPoint entryPoint () const
 Entry point in the local Det frame.
EncodedEventId eventId () const
Local3DPoint exitPoint () const
 Exit point in the local Det frame.
LocalVector localDirection () const
 Obsolete. Same as momentumAtEntry().unit(), for backward compatibility.
Local3DPoint localPosition () const
LocalVector momentumAtEntry () const
 The momentum of the track that produced the hit, at entry point.
float pabs () const
 fast and more accurate access to momentumAtEntry().mag()
int particleType () const
Geom::Phi< float > phiAtEntry () const
 fast and more accurate access to momentumAtEntry().phi()
unsigned short processType () const
 PSimHit ()
 PSimHit (const Local3DPoint &entry, const Local3DPoint &exit, float pabs, float tof, float eloss, int particleType, unsigned int detId, unsigned int trackId, float theta, float phi, unsigned short processType=0)
void setEventId (EncodedEventId e)
void setTof (float tof)
Geom::Theta< float > thetaAtEntry () const
 fast and more accurate access to momentumAtEntry().theta()
float timeOfFlight () const
float tof () const
 deprecated name for timeOfFlight()
unsigned int trackId () const

Protected Attributes

unsigned int theDetUnitId
float theEnergyLoss
Local3DPoint theEntryPoint
EncodedEventId theEventId
float thePabs
int theParticleType
float thePhiAtEntry
unsigned short theProcessType
Local3DVector theSegment
float theThetaAtEntry
float theTof
unsigned int theTrackId

Friends

class TrackingSlaveSD

Detailed Description

Persistent-capable SimHit. Suitable for tracking detectors.

Definition at line 15 of file PSimHit.h.


Constructor & Destructor Documentation

PSimHit::PSimHit ( ) [inline]

Definition at line 18 of file PSimHit.h.

: theDetUnitId(0) {}
PSimHit::PSimHit ( const Local3DPoint entry,
const Local3DPoint exit,
float  pabs,
float  tof,
float  eloss,
int  particleType,
unsigned int  detId,
unsigned int  trackId,
float  theta,
float  phi,
unsigned short  processType = 0 
) [inline]

Member Function Documentation

unsigned int PSimHit::detUnitId ( ) const [inline]

The DetUnit identifier, to be interpreted in the context of the detector system that produced the hit. E.g. in the Tracker this is index used with DetUnitNumbering<TrackerSimHitTag>. Currently the context is not deducible from the PSimHit and must be known when the PSimHit is created/accessed.

Definition at line 93 of file PSimHit.h.

References theDetUnitId.

Referenced by RPCSim::addLinks(), SubsystemNeutronWriter::adjust(), CkfDebugger::analyseCompatibleMeasurements(), CkfDebugger::analyseRecHitExistance(), CSCSegmentValidation::analyze(), RPCRecHitValid::analyze(), FWPSimHitProxyBuilder::build(), FWTrackingParticleProxyBuilder::build(), MuonIdTruthInfo::checkSimHitForBestMatch(), PLTSensitiveDetector::createHit(), TkAccumulatingSensitiveDetector::createHit(), ChargeDividerFP420::DeconvolutionShape(), CkfDebugger::det(), CkfDebugger::SimHit::detUnitId(), SiPixelDigitizerAlgorithm::drift(), DTHitQualityUtils::findMuSimSegmentDirAndPos(), SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing(), SubsystemNeutronReader::generateChamberNoise(), HitInfo::getInfo(), RPCSynchronizer::getSimHitBx(), CkfDebugger::hasDelta(), CkfDebugger::nextCorrectHits(), MuonTrackResidualAnalyzer::RadiusComparatorInOut::operator()(), operator<<(), ChargeDividerFP420::PeakShape(), CkfDebugger::position(), cms::DigitizerFP420::produce(), ShallowSimhitClustersProducer::produce(), FP420DigiMain::run(), MuonSensitiveDetector::saveHit(), TkAccumulatingSensitiveDetector::sendHit(), PLTSensitiveDetector::sendHit(), TrackingTruthProducer::setTrackingParticle(), DTHitAssociator::SimHitOK(), FormatEndcapHits::sortId(), FormatRpcHits::sortId(), FormatBarrelHits::sortId(), PLTSensitiveDetector::updateHit(), TkAccumulatingSensitiveDetector::updateHit(), AsciiNeutronWriter::writeCluster(), and SubsystemNeutronWriter::writeHits().

{return theDetUnitId;}
float PSimHit::energyLoss ( ) const [inline]
Local3DPoint PSimHit::entryPoint ( ) const [inline]
EncodedEventId PSimHit::eventId ( ) const [inline]
Local3DPoint PSimHit::exitPoint ( ) const [inline]
LocalVector PSimHit::localDirection ( ) const [inline]
Local3DPoint PSimHit::localPosition ( ) const [inline]

Local position in the Det frame. Normally it is on the detection surface, but this is not checked. It is computed as the middle point between entry and exit.

Definition at line 44 of file PSimHit.h.

References theEntryPoint, and theSegment.

Referenced by CkfDebugger::analyseCompatibleMeasurements(), TestHits::analyze(), RPCRecHitValid::analyze(), SiStripRecHitsValid::analyze(), TestTrackHits::analyze(), TestSmoothHits::analyze(), SiStripTrackingRecHitsValid::analyze(), FWPSimHitProxyBuilder::build(), FWTrackingParticleProxyBuilder::build(), DTRecHitQuality::compute(), DTDigitizer::computeTime(), SiLinearChargeDivider::DeconvolutionShape(), SiLinearChargeDivider::divide(), DTDigitizer::externalDelays(), DTHitQualityUtils::findMuSimSegmentDirAndPos(), SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing(), RPCSynchronizer::getSimHitBx(), TrackAssociatorByPosition::getState(), CkfDebugger::SimHit::globalPosition(), CkfDebugger::SimHit::localPosition(), FTSFromSimHitFactory::operator()(), MuonTrackResidualAnalyzer::RadiusComparatorInOut::operator()(), SiLinearChargeDivider::PeakShape(), CSCRecHit2DValidation::plotResolution(), CSCSegmentValidation::plotResolution(), GlobalRecHitsAnalyzer::plotResolution(), GlobalRecHitsProducer::plotResolution(), CSCStripDigiValidation::plotResolution(), CSCWireDigiValidation::plotResolution(), CkfDebugger::position(), ShallowSimhitClustersProducer::produce(), TestSmoothHits::projectHit(), GlobalRecHitsProducer::projectHit(), TestTrackHits::projectHit(), TestHits::projectHit(), GlobalRecHitsAnalyzer::projectHit(), SiStripRecHitsValid::projectHit(), SiStripTrackingRecHitsValid::projectHit(), DTHitAssociator::SimHitOK(), SiStripGaussianSmearingRecHitConverterAlgorithm::smearHit(), SiPixelGaussianSmearingRecHitConverterAlgorithm::smearHit(), and CkfDebugger::testSeed().

{return theEntryPoint + 0.5*theSegment;}
LocalVector PSimHit::momentumAtEntry ( ) const [inline]
float PSimHit::pabs ( ) const [inline]
int PSimHit::particleType ( ) const [inline]
Geom::Phi<float> PSimHit::phiAtEntry ( ) const [inline]
unsigned short PSimHit::processType ( ) const [inline]

The ID of the physics process that created the track that produced the hit. This is useful for identifying hits from secondary interactions, especially in the case when the track that produced the hit was not saved as a SimTrack. The meaning of the ID is defined outside of the PSimHit; The only value with special significance is zero (for "undefined"), so zero should not be the ID of any process.

Definition at line 118 of file PSimHit.h.

References theProcessType.

Referenced by RPCSim::addLinks(), CkfDebugger::analyseCompatibleMeasurements(), TestHits::analyze(), TestTrackHits::analyze(), TestSmoothHits::analyze(), TestOutliers::analyze(), DTHitAssociator::DTHitAssociator(), DTDigitizer::dumpHit(), SubsystemNeutronReader::generateChamberNoise(), CkfDebugger::SimHit::processType(), ShallowSimhitClustersProducer::produce(), and TrackingTruthProducer::setTrackingParticle().

{return theProcessType;}
void PSimHit::setEventId ( EncodedEventId  e) [inline]

Definition at line 108 of file PSimHit.h.

References alignCSCRings::e, and theEventId.

{ theEventId = e; }
void PSimHit::setTof ( float  tof) [inline]

Definition at line 121 of file PSimHit.h.

References theTof, and tof().

Geom::Theta<float> PSimHit::thetaAtEntry ( ) const [inline]
float PSimHit::timeOfFlight ( ) const [inline]

Time of flight in nanoseconds from the primary interaction to the entry point. Always positive in a PSimHit, but may become negative in a SimHit due to bunch assignment.

Definition at line 69 of file PSimHit.h.

References tof().

Referenced by RPCSim::addLinks(), SubsystemNeutronWriter::adjust(), CkfDebugger::associated(), RPCSynchronizer::getSimHitBx(), CkfDebugger::nextCorrectHits(), less_mag::operator()(), ShallowSimhitClustersProducer::produce(), TkAccumulatingSensitiveDetector::sendHit(), CkfDebugger::SimHit::timeOfFlight(), and AsciiNeutronWriter::writeCluster().

{return tof();}
float PSimHit::tof ( ) const [inline]
unsigned int PSimHit::trackId ( ) const [inline]

Friends And Related Function Documentation

friend class TrackingSlaveSD [friend]

Definition at line 143 of file PSimHit.h.


Member Data Documentation

unsigned int PSimHit::theDetUnitId [protected]

Definition at line 139 of file PSimHit.h.

Referenced by detUnitId().

float PSimHit::theEnergyLoss [protected]

Definition at line 141 of file PSimHit.h.

Referenced by eventId(), and setEventId().

float PSimHit::thePabs [protected]

Definition at line 128 of file PSimHit.h.

Referenced by pabs().

int PSimHit::theParticleType [protected]

Definition at line 134 of file PSimHit.h.

Referenced by particleType().

float PSimHit::thePhiAtEntry [protected]

Definition at line 131 of file PSimHit.h.

Referenced by phiAtEntry().

unsigned short PSimHit::theProcessType [protected]

Definition at line 135 of file PSimHit.h.

Referenced by processType().

float PSimHit::theThetaAtEntry [protected]

Definition at line 130 of file PSimHit.h.

Referenced by thetaAtEntry().

float PSimHit::theTof [protected]

Definition at line 133 of file PSimHit.h.

Referenced by setTof(), and tof().

unsigned int PSimHit::theTrackId [protected]

Definition at line 140 of file PSimHit.h.

Referenced by UpdatablePSimHit::setTrackId(), TrackingSlaveSD::setTrackId(), and trackId().