CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

MagneticField Class Reference

#include <MagneticField.h>

Inheritance diagram for MagneticField:
LocalMagneticField MagVolume OAE85lParametrizedMagneticField OAEParametrizedMagneticField PolyFit2DParametrizedMagneticField PolyFit3DParametrizedMagneticField RKTestField UniformMagneticField VolumeBasedMagneticField

List of all members.

Public Member Functions

virtual MagneticFieldclone () 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

Detailed Description

Base class for the different implementation of magnetic field engines.

Date:
2011/12/10 16:36:11
Revision:
1.11
Author:
N. Amapane - CERN

Definition at line 18 of file MagneticField.h.


Constructor & Destructor Documentation

MagneticField::MagneticField ( )

Definition at line 10 of file MagneticField.cc.

MagneticField::~MagneticField ( ) [virtual]

Definition at line 12 of file MagneticField.cc.

{}

Member Function Documentation

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().

                                             {
  return int((inTesla(GlobalPoint(0.f,0.f,0.f))).z() * 10.f + 0.5f);
}
GlobalVector MagneticField::inInverseGeV ( const GlobalPoint gp) const [inline]
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]
int MagneticField::nominalValue ( ) const [inline]

Member Data Documentation

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().