#include <MagneticField.h>
Public Member Functions | |
virtual MagneticField * | clone () const |
GlobalVector | inInverseGeV (const GlobalPoint &gp) const |
Field value ad specified global point, in 1/Gev. More... | |
GlobalVector | inKGauss (const GlobalPoint &gp) const |
Field value ad specified global point, in KGauss. More... | |
virtual GlobalVector | inTesla (const GlobalPoint &gp) const =0 |
Field value ad specified global point, in Tesla. More... | |
virtual GlobalVector | inTeslaUnchecked (const GlobalPoint &gp) const |
float | inverseBzAtOriginInGeV () const |
The inverse of field z component for this map in GeV. More... | |
virtual bool | isDefined (const GlobalPoint &) const |
True if the point is within the region where the concrete field. More... | |
MagneticField () | |
MagneticField (const MagneticField &orig) | |
int | nominalValue () const |
The nominal field value for this map in kGauss. More... | |
virtual | ~MagneticField () |
Protected Member Functions | |
void | setNominalValue () |
Private Attributes | |
float | theInverseBzAtOriginInGeV = 0 |
int | theNominalValue = 0 |
Base class for the different implementation of magnetic field engines.
Definition at line 19 of file MagneticField.h.
|
default |
|
default |
|
virtualdefault |
|
inlinevirtual |
Derived classes can implement cloning without ownership of the underlying engines.
Reimplemented in VolumeBasedMagneticField.
Definition at line 27 of file MagneticField.h.
|
inline |
Field value ad specified global point, in 1/Gev.
Definition at line 36 of file MagneticField.h.
References F(), runTauDisplay::gp, and inTesla().
Referenced by GeneralPurposeTrackAnalyzer::analyze(), DMRChecker::analyze(), PerigeeLinearizedTrackState::computeChargedJacobians(), PerigeeLinearizedTrackState::computeJacobians(), TwoBodyDecayEstimator::constructMatrices(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), PerigeeConversions::jacobianParameters2Cartesian(), KinematicPerigeeConversions::kinematicParametersFromExPerigee(), KinematicPerigeeConversions::momentumFromPerigee(), PerigeeConversions::momentumFromPerigee(), and TwoTrackMinimumDistanceHelixHelix::updateCoeffs().
|
inline |
Field value ad specified global point, in KGauss.
Definition at line 33 of file MagneticField.h.
References runTauDisplay::gp, and inTesla().
Referenced by CSCDriftSim::getWireHit().
|
pure virtual |
Field value ad specified global point, in Tesla.
Implemented in VolumeBasedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, ParabolicParametrizedMagneticField, UniformMagneticField, and LocalMagneticField.
Referenced by cms::SiPixelDigitizer::accumulatePixelHits(), cms::Phase2TrackerDigitizer::accumulatePixelHits(), SiStripDigitizer::accumulateStripHits(), Phase2OTMonitorVectorHits::analyze(), DisplayGeom::analyze(), IsoTrig::analyze(), SiPixelLorentzAnglePCLWorker::analyze(), DMRChecker::analyze(), tmtt::TMTrackProducer::beginRun(), ConvBremSeedProducer::beginRun(), L1FPGATrackProducer::beginRun(), GeneralPurposeTrackAnalyzer::beginRun(), DMRChecker::beginRun(), SeedingOTEDProducer::buildInitialTSOS(), TwoTrackMinimumDistanceLineLine::calculate(), ClosestApproachInRPhi::calculate(), TwoTrackMinimumDistance::calculate(), ConvertedPhotonProducer::calculateMinApproachDistance(), tt::Setup::checkMagneticField(), RPCSeedPattern::checkSimplePattern(), TangentApproachInRPhi::circleParameters(), OutInConversionSeedFinder::createSeedFTS(), StripCPE::driftDirection(), Phase2StripCPE::driftDirection(), egammaTools::ecalPhi(), MFProducer::evaluate(), RPCSeedPattern::extropolateStep(), PixelCPEBase::fillDetParams(), ApeEstimator::fillHitVariables(), PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::find(), trackingTools::ftsFromVertexToPoint(), ClusterShapeHitFilter::getDrift(), sim::Field::GetFieldValue(), SteppingHelixPropagator::getNextState(), GlobalTrajectoryParameters::GlobalTrajectoryParameters(), ConversionFastHelix::helixStateAtVertex(), inInverseGeV(), inKGauss(), MagneticFieldMap::inTesla(), inTeslaUnchecked(), MagneticFieldMap::inTeslaZ(), SteppingHelixPropagator::loadState(), GlobalTrajectoryParameters::magneticFieldInInverseGeV(), SteppingHelixPropagator::makeAtomStep(), OutInConversionSeedFinder::makeTrackState(), SimpleCosmicBONSeeder::pqFromHelixFit(), SimpleCosmicBONSeeder::produce(), CtfSpecialSeedGenerator::produce(), DTDigitizer::produce(), LowPtGsfElectronSeedProducer::propagateTrackToCalo(), RPCSeedPattern::SegmentAlgorithmSpecial(), GlobalTrajectoryParameters::setCache(), setNominalValue(), SiPixelGenErrorDBObjectESProducer::SiPixelGenErrorDBObjectESProducer(), SiPixelTemplateDBObjectESProducer::SiPixelTemplateDBObjectESProducer(), SimpleCosmicBONSeeder::triplets(), and defaultRKPropagator::TrivialFieldProvider::valueInTesla().
|
inlinevirtual |
Optional implementation that derived classes can implement to provide faster query by skipping the check to isDefined.
Reimplemented in VolumeBasedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, ParabolicParametrizedMagneticField, and UniformMagneticField.
Definition at line 44 of file MagneticField.h.
References runTauDisplay::gp, and inTesla().
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
|
inline |
The inverse of field z component for this map in GeV.
Definition at line 52 of file MagneticField.h.
References theInverseBzAtOriginInGeV.
Referenced by SiPixelLorentzAnglePCLHarvester::beginRun(), PixelRecoUtilities::bendingRadius(), PixelRecoUtilities::curvature(), pixelrecoutilities::LongitudinalBendingCorrection::init(), PixelRecoUtilities::inversePt(), and PixelFitterByHelixProjections::run().
|
inlinevirtual |
True if the point is within the region where the concrete field.
Reimplemented in VolumeBasedMagneticField, OAEParametrizedMagneticField, ParabolicParametrizedMagneticField, PolyFit2DParametrizedMagneticField, and UniformMagneticField.
Definition at line 40 of file MagneticField.h.
Referenced by TrajSeedMatcher::ftsFromVertexToPoint(), VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
|
inline |
The nominal field value for this map in kGauss.
Definition at line 49 of file MagneticField.h.
References theNominalValue.
Referenced by SiPixelLorentzAnglePCLWorker::analyze(), ReferenceTrajectory::construct(), SeedFromConsecutiveHitsCreator::init(), MultiHitGeneratorFromChi2::initES(), SimpleCosmicBONSeeder::pqFromHelixFit(), Onia2MuMuPAT::produce(), FreeTrajectoryState::rescaleError(), BasicTrajectoryState::rescaleError(), SeedFromGenericPairOrTriplet::seedFromTriplet(), SeedGeneratorForCosmics::seeds(), and DTLinearDriftFromDBAlgo::setES().
|
protected |
Definition at line 14 of file MagneticField.cc.
References f, createfilelist::int, inTesla(), theInverseBzAtOriginInGeV, theNominalValue, and PV3DBase< T, PVType, FrameType >::z().
Referenced by LocalMagneticField::LocalMagneticField(), MagCylinder::MagCylinder(), MagVolume6Faces::MagVolume6Faces(), OAEParametrizedMagneticField::OAEParametrizedMagneticField(), ParabolicParametrizedMagneticField::ParabolicParametrizedMagneticField(), PolyFit2DParametrizedMagneticField::PolyFit2DParametrizedMagneticField(), defaultRKPropagator::RKMagVolume::RKMagVolume(), UniformMagneticField::UniformMagneticField(), and VolumeBasedMagneticField::VolumeBasedMagneticField().
|
private |
Definition at line 61 of file MagneticField.h.
Referenced by inverseBzAtOriginInGeV(), and setNominalValue().
|
private |
Definition at line 60 of file MagneticField.h.
Referenced by nominalValue(), and setNominalValue().