#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 &gp) 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 17 of file MagneticField.h.
|
private |
Enumerator | |
---|---|
kUnset | |
kSetting | |
kSet |
Definition at line 63 of file MagneticField.h.
MagneticField::MagneticField | ( | ) |
Definition at line 8 of file MagneticField.cc.
References kUnset, and nominalValueCompiuted.
MagneticField::MagneticField | ( | const MagneticField & | orig | ) |
Definition at line 10 of file MagneticField.cc.
References nominalValueCompiuted.
|
virtual |
Definition at line 13 of file MagneticField.cc.
|
inlinevirtual |
Derived classes can implement cloning without ownership of the underlying engines.
Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, VolumeBasedMagneticField, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
Definition at line 26 of file MagneticField.h.
|
privatevirtual |
Definition at line 15 of file MagneticField.cc.
References f, inTesla(), and detailsBasic3DVector::z.
Referenced by nominalValue().
|
inline |
Field value ad specified global point, in 1/Gev.
Definition at line 39 of file MagneticField.h.
References F(), and inTesla().
Referenced by SingleTrackVertexConstraint::constrain(), tauImpactParameter::ParticleBuilder::createTrackParticle(), 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 34 of file MagneticField.h.
References inTesla().
Referenced by CSCDriftSim::getWireHit().
|
pure virtual |
Field value ad specified global point, in Tesla.
Implemented in OAE85lParametrizedMagneticField, VolumeBasedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, ParabolicParametrizedMagneticField, LocalMagneticField, and UniformMagneticField.
Referenced by PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::analyze(), SiStripLAProfileBooker::beginRun(), ConvBremSeedProducer::beginRun(), SiTrackerGaussianSmearingRecHitConverter::beginRun(), TwoTrackMinimumDistanceLineLine::calculate(), TangentApproachInRPhi::circleParameters(), computeNominalValue(), shallow::drift(), StripCPE::driftDirection(), ECALPositionCalculator::ecalPhi(), ZeeCandidateFilter::filter(), HSCPTreeBuilder::filter(), FTSFromVertexToPointFactory::get(), sim::Field::GetFieldValue(), GlobalTrajectoryParameters::GlobalTrajectoryParameters(), ConversionFastHelix::helixStateAtVertex(), inInverseGeV(), inKGauss(), MagneticFieldMap::inTesla(), inTeslaUnchecked(), MagneticFieldMap::inTeslaZ(), StripCPEfromTemplate::localParameters(), GlobalTrajectoryParameters::magneticFieldInInverseGeV(), PixelCPEBase::param(), SiStripElectronAlgo::projectPhiBand(), PixelFitterByHelixProjections::run(), SeedFromNuclearInteraction::stateWithError(), and MonopoleSteppingAction::update().
|
inlinevirtual |
Optional implementation that derived classes can implement to provide faster query by skipping the check to isDefined.
Reimplemented in OAE85lParametrizedMagneticField, VolumeBasedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, ParabolicParametrizedMagneticField, and UniformMagneticField.
Definition at line 51 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, OAE85lParametrizedMagneticField, OAEParametrizedMagneticField, ParabolicParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, and UniformMagneticField.
Definition at line 45 of file MagneticField.h.
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
int MagneticField::nominalValue | ( | ) | const |
The nominal field value for this map in kGauss.
Definition at line 19 of file MagneticField.cc.
References computeNominalValue(), kSet, kSetting, kUnset, nominalValueCompiuted, std::swap(), theNominalValue, and tmp.
Referenced by TrackProducerAlgorithm< reco::Track >::buildTrack(), TrackProducerAlgorithm< reco::GsfTrack >::buildTrack(), MultiHitGeneratorFromChi2::hitSets(), FreeTrajectoryState::rescaleError(), BasicTrajectoryState::rescaleError(), and SeedFromGenericPairOrTriplet::seedFromTriplet().
|
mutableprivate |
Definition at line 61 of file MagneticField.h.
Referenced by MagneticField(), and nominalValue().
|
mutableprivate |
Definition at line 62 of file MagneticField.h.
Referenced by nominalValue().