#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 |
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 () |
Private Types | |
enum | FooStates { kUnset, kSetting, kSet } |
Private Member Functions | |
virtual int | computeNominalValue () const |
Private Attributes | |
std::atomic< char > | nominalValueCompiuted |
int | theNominalValue |
Base class for the different implementation of magnetic field engines.
Definition at line 19 of file MagneticField.h.
|
private |
Enumerator | |
---|---|
kUnset | |
kSetting | |
kSet |
Definition at line 70 of file MagneticField.h.
MagneticField::MagneticField | ( | ) |
Definition at line 8 of file MagneticField.cc.
MagneticField::MagneticField | ( | const MagneticField & | orig | ) |
Definition at line 12 of file MagneticField.cc.
References kSet, nominalValueCompiuted, and theNominalValue.
|
virtual |
Definition at line 20 of file MagneticField.cc.
|
inlinevirtual |
Derived classes can implement cloning without ownership of the underlying engines.
Reimplemented in VolumeBasedMagneticField.
Definition at line 28 of file MagneticField.h.
References runTauDisplay::gp, and inTesla().
Referenced by magneticfield::AutoMagneticFieldESProducer::produce().
|
privatevirtual |
Definition at line 22 of file MagneticField.cc.
References f, createfilelist::int, inTesla(), kSet, kSetting, kUnset, nominalValueCompiuted, std::swap(), theNominalValue, tmp, and z.
Referenced by nominalValue().
|
inline |
Field value ad specified global point, in 1/Gev.
Definition at line 41 of file MagneticField.h.
References F(), and inTesla().
Referenced by PerigeeLinearizedTrackState::computeChargedJacobians(), PerigeeLinearizedTrackState::computeJacobians(), SingleTrackVertexConstraint::constrain(), TwoBodyDecayEstimator::constructMatrices(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), tauImpactParameter::ParticleBuilder::createTrackParticle(), muonisolation::CaloExtractor::deposit(), muonisolation::PixelTrackExtractor::deposit(), TrackerValidationVariables::fillTrackQuantities(), muonisolation::CaloExtractor::fillVetos(), KinematicConstrainedVertexFitterT< nTrk, nConstraint >::fit(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), PerigeeConversions::jacobianParameters2Cartesian(), KinematicPerigeeConversions::kinematicParametersFromExPerigee(), KinematicPerigeeConversions::momentumFromPerigee(), PerigeeConversions::momentumFromPerigee(), PFTau3ProngReco::produce(), ThirdHitPrediction::ThirdHitPrediction(), and TwoTrackMinimumDistanceHelixHelix::updateCoeffs().
|
inline |
Field value ad specified global point, in KGauss.
Definition at line 36 of file MagneticField.h.
References 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(), SiStripCalibLorentzAngle::algoBeginJob(), TkAlCaRecoMonitor::analyze(), DisplayGeom::analyze(), IsoTrig::analyze(), TrackerDpgAnalysis::analyze(), PositionAtECalEntranceComputer::beginEvent(), reco::tau::PFRecoTauChargedHadronFromPFCandidatePlugin::beginEvent(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::beginEvent(), PFDisplacedTrackerVertexProducer::beginRun(), PFNuclearProducer::beginRun(), LightPFTrackProducer::beginRun(), PFConversionProducer::beginRun(), PFV0Producer::beginRun(), PFTrackProducer::beginRun(), SiStripLAProfileBooker::beginRun(), ConvBremSeedProducer::beginRun(), PFElecTkProducer::beginRun(), GoodSeedProducer::beginRun(), TwoTrackMinimumDistanceLineLine::calculate(), ClosestApproachInRPhi::calculate(), TwoTrackMinimumDistance::calculate(), ConvertedPhotonProducer::calculateMinApproachDistance(), RPCSeedPattern::checkSimplePattern(), TangentApproachInRPhi::circleParameters(), clone(), computeNominalValue(), GsfElectronAlgo::createElectron(), OutInConversionSeedFinder::createSeedFTS(), fastsim::SimplifiedGeometryFactory::createSimplifiedGeometry(), SiStripLorentzAngleCalibration::derivatives(), SiPixelLorentzAngleCalibration::derivatives(), SiStripBackplaneCalibration::derivatives(), shallow::drift(), StripCPE::driftDirection(), Phase2StripCPE::driftDirection(), egammaTools::ecalPhi(), MFProducer::evaluate(), TrackTimeValueMapProducer::extractTrackVertexTime(), RPCSeedPattern::extropolateStep(), PixelRecoUtilities::FieldAt0::FieldAt0(), PixelCPEBase::fillDetParams(), ZeeCandidateFilter::filter(), HSCPTreeBuilder::filter(), PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::find(), FTSFromVertexToPointFactory::get(), sim::Field::GetFieldValue(), fastsim::Geometry::getMagneticFieldZ(), SteppingHelixPropagator::getNextState(), GlobalTrajectoryParameters::GlobalTrajectoryParameters(), ConversionFastHelix::helixStateAtVertex(), inInverseGeV(), inKGauss(), MagneticFieldMap::inTesla(), inTeslaUnchecked(), MagneticFieldMap::inTeslaZ(), SteppingHelixPropagator::loadState(), GlobalTrajectoryParameters::magneticFieldInInverseGeV(), SteppingHelixPropagator::makeAtomStep(), OutInConversionSeedFinder::makeTrackState(), PixelCPEClusterRepair::PixelCPEClusterRepair(), SimpleCosmicBONSeeder::pqFromHelixFit(), ShallowTrackClustersProducer::produce(), SiPixelGenErrorDBObjectESProducer::produce(), SiPixelTemplateDBObjectESProducer::produce(), SiPixel2DTemplateDBObjectESProducer::produce(), LowPtGsfElectronIDProducer::produce(), cms::MuonMETValueMapProducer::produce(), SimpleCosmicBONSeeder::produce(), DTDigitizer::produce(), CtfSpecialSeedGenerator::produce(), SiStripElectronAlgo::projectPhiBand(), LowPtGsfElectronSeedProducer::propagateTrackToCalo(), RPCSeedPattern::SegmentAlgorithmSpecial(), GlobalTrajectoryParameters::setCache(), DTParametrizedDriftAlgo::setES(), SeedFromNuclearInteraction::stateWithError(), DualTrajectoryFactory::trajectories(), ReferenceTrajectoryFactory::trajectories(), SeedForPhotonConversionFromQuadruplets::trajectorySeed(), SimpleCosmicBONSeeder::triplets(), MonopoleSteppingAction::update(), GeometryProducer::updateMagneticField(), 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 53 of file MagneticField.h.
References inTesla().
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
|
inlinevirtual |
True if the point is within the region where the concrete field.
Reimplemented in VolumeBasedMagneticField, OAEParametrizedMagneticField, ParabolicParametrizedMagneticField, PolyFit2DParametrizedMagneticField, and UniformMagneticField.
Definition at line 47 of file MagneticField.h.
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
|
inline |
The nominal field value for this map in kGauss.
Definition at line 58 of file MagneticField.h.
References computeNominalValue(), kSet, nominalValueCompiuted, and theNominalValue.
Referenced by SiStripElectronSeedGenerator::altCheckHitsAndTSOS(), TrackProducerAlgorithm< reco::Track >::buildTrack(), TrackProducerAlgorithm< reco::GsfTrack >::buildTrack(), SiStripElectronSeedGenerator::checkHitsAndTSOS(), SingleTrackVertexConstraint::constrain(), ReferenceTrajectory::construct(), SiStripElectronSeedGenerator::findSeedsFromCluster(), SeedFromConsecutiveHitsCreator::init(), MultiHitGeneratorFromChi2::initES(), SeedForPhotonConversion1Leg::initialKinematic(), SeedForPhotonConversionFromQuadruplets::initialKinematic(), SimpleCosmicBONSeeder::pqFromHelixFit(), ElectronSeedGenerator::prepareElTrackSeed(), SteppingHelixPropagatorESProducer::produce(), Onia2MuMuPAT::produce(), ConvBremSeedProducer::produce(), FreeTrajectoryState::rescaleError(), BasicTrajectoryState::rescaleError(), SeedFromGenericPairOrTriplet::seedFromTriplet(), SeedGeneratorForCosmics::seeds(), DTLinearDriftFromDBAlgo::setES(), and SeedForPhotonConversionFromQuadruplets::trajectorySeed().
|
mutableprivate |
Definition at line 66 of file MagneticField.h.
Referenced by computeNominalValue(), MagneticField(), and nominalValue().
|
mutableprivate |
Definition at line 69 of file MagneticField.h.
Referenced by computeNominalValue(), MagneticField(), and nominalValue().