#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. | |
GlobalVector | inKGauss (const GlobalPoint &gp) const |
Field value ad specified global point, in KGauss. | |
virtual GlobalVector | inTesla (const GlobalPoint &gp) const =0 |
Field value ad specified global point, in Tesla. | |
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. | |
MagneticField () | |
int | nominalValue () const |
The nominal field value for this map in kGauss. | |
virtual | ~MagneticField () |
Private Member Functions | |
virtual int | computeNominalValue () const |
Private Attributes | |
bool | nominalValueCompiuted |
int | theNominalValue |
Base class for the different implementation of magnetic field engines.
Definition at line 18 of file MagneticField.h.
MagneticField::MagneticField | ( | ) |
Definition at line 10 of file MagneticField.cc.
: nominalValueCompiuted(false){}
MagneticField::~MagneticField | ( | ) | [virtual] |
Definition at line 12 of file MagneticField.cc.
{}
virtual MagneticField* MagneticField::clone | ( | void | ) | const [inline, virtual] |
Derived classes can implement cloning without ownership of the underlying engines.
Reimplemented in VolumeBasedMagneticField.
Definition at line 26 of file MagneticField.h.
{
return 0;
}
int MagneticField::computeNominalValue | ( | ) | const [private, virtual] |
Definition at line 15 of file MagneticField.cc.
References f, inTesla(), and z.
Referenced by nominalValue().
GlobalVector MagneticField::inInverseGeV | ( | const GlobalPoint & | gp | ) | const [inline] |
Field value ad specified global point, in 1/Gev.
Definition at line 40 of file MagneticField.h.
References F(), and inTesla().
Referenced by PerigeeLinearizedTrackState::computeChargedJacobians(), PerigeeLinearizedTrackState::computeJacobians(), SingleTrackVertexConstraint::constrain(), TwoBodyDecayEstimator::constructMatrices(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters(), PerigeeConversions::ftsToPerigeeParameters(), PerigeeConversions::jacobianCurvilinear2Perigee(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), PerigeeConversions::jacobianParameters2Cartesian(), PerigeeConversions::jacobianPerigee2Curvilinear(), KinematicPerigeeConversions::kinematicParametersFromExPerigee(), PerigeeConversions::momentumFromPerigee(), KinematicPerigeeConversions::momentumFromPerigee(), TrackKinematicStatePropagator::planeCrossing(), and TwoTrackMinimumDistanceHelixHelix::updateCoeffs().
GlobalVector MagneticField::inKGauss | ( | const GlobalPoint & | gp | ) | const [inline] |
Field value ad specified global point, in KGauss.
Definition at line 35 of file MagneticField.h.
References inTesla().
Referenced by CSCDriftSim::getWireHit().
{ return inTesla(gp) * 10.F; }
virtual GlobalVector MagneticField::inTesla | ( | const GlobalPoint & | gp | ) | const [pure virtual] |
Field value ad specified global point, in Tesla.
Implemented in LocalMagneticField, OAE85lParametrizedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, UniformMagneticField, VolumeBasedMagneticField, and RKTestField.
Referenced by ConvBremSeedProducer::beginRun(), SiStripLAProfileBooker::beginRun(), SiTrackerGaussianSmearingRecHitConverter::beginRun(), TrackProducerAlgorithm< reco::Track >::buildTrack(), TrackProducerAlgorithm< reco::GsfTrack >::buildTrack(), TwoTrackMinimumDistance::calculate(), ClosestApproachInRPhi::calculate(), TwoTrackMinimumDistanceLineLine::calculate(), TangentApproachInRPhi::circleParameters(), PixelCPEBase::computeLorentzShifts(), computeNominalValue(), shallow::drift(), StripCPE::driftDirection(), ECALPositionCalculator::ecalPhi(), ZeeCandidateFilter::filter(), HSCPTreeBuilder::filter(), sim::Field::GetFieldValue(), SteppingHelixPropagator::getNextState(), GlobalTrajectoryParameters::GlobalTrajectoryParameters(), ConversionFastHelix::helixStateAtVertex(), inInverseGeV(), inKGauss(), MagneticFieldMap::inTesla(), inTeslaUnchecked(), MagneticFieldMap::inTeslaZ(), SteppingHelixPropagator::loadState(), StripCPEfromTemplate::localParameters(), PixelCPEGeneric::localPosition(), PixelCPETemplateReco::localPosition(), PixelCPEBase::lorentzShiftX(), PixelCPEBase::lorentzShiftY(), GlobalTrajectoryParameters::magneticFieldInInverseGeV(), SteppingHelixPropagator::makeAtomStep(), FTSFromVertexToPointFactory::operator()(), SiStripElectronAlgo::projectPhiBand(), RoadSearchSeedFinderAlgorithm::run(), RoadSearchTrackCandidateMakerAlgorithm::run(), SeedFromNuclearInteraction::stateWithError(), GlobalTrajectoryParameters::transverseCurvature(), MonopoleSteppingAction::update(), and RKTestFieldProvider::valueInTesla().
virtual GlobalVector MagneticField::inTeslaUnchecked | ( | const GlobalPoint & | gp | ) | const [inline, virtual] |
Optional implementation that derived classes can implement to provide faster query by skipping the check to isDefined.
Reimplemented in OAE85lParametrizedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, UniformMagneticField, and VolumeBasedMagneticField.
Definition at line 52 of file MagneticField.h.
References inTesla().
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
{ return inTesla(gp); // default dummy implementation }
virtual bool MagneticField::isDefined | ( | const GlobalPoint & | gp | ) | const [inline, virtual] |
True if the point is within the region where the concrete field.
Reimplemented in OAE85lParametrizedMagneticField, OAEParametrizedMagneticField, PolyFit2DParametrizedMagneticField, PolyFit3DParametrizedMagneticField, UniformMagneticField, and VolumeBasedMagneticField.
Definition at line 46 of file MagneticField.h.
Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().
{ return true; }
int MagneticField::nominalValue | ( | ) | const [inline] |
The nominal field value for this map in kGauss.
Definition at line 57 of file MagneticField.h.
References computeNominalValue(), nominalValueCompiuted, theNominalValue, and unlikely.
Referenced by BasicTrajectoryState::rescaleError(), and FreeTrajectoryState::rescaleError().
{ if unlikely(!nominalValueCompiuted) { theNominalValue = computeNominalValue(); nominalValueCompiuted=true; } return theNominalValue; }
bool MagneticField::nominalValueCompiuted [mutable, private] |
Definition at line 67 of file MagneticField.h.
Referenced by nominalValue().
int MagneticField::theNominalValue [mutable, private] |
Definition at line 68 of file MagneticField.h.
Referenced by nominalValue().