#include <VolumeBasedMagneticField.h>
Public Member Functions | |
virtual MagneticField * | clone () const |
Returns a shallow copy. More... | |
const MagVolume * | findVolume (const GlobalPoint &gp) const |
GlobalVector | inTesla (const GlobalPoint &g) const |
Field value ad specified global point, in Tesla. More... | |
GlobalVector | inTeslaUnchecked (const GlobalPoint &g) const |
bool | isDefined (const GlobalPoint &gp) const |
True if the point is within the region where the concrete field. More... | |
bool | isZSymmetric () const |
VolumeBasedMagneticField (const edm::ParameterSet &config, std::vector< MagBLayer * > theBLayers, std::vector< MagESector * > theESectors, std::vector< MagVolume6Faces * > theBVolumes, std::vector< MagVolume6Faces * > theEVolumes, float rMax, float zMax, const MagneticField *param=0, bool isParamFieldOwned=false) | |
VolumeBasedMagneticField (const VolumeBasedMagneticField &vbf) | |
Copy constructor implement a shallow copy (ie no ownership of actual engines) More... | |
virtual | ~VolumeBasedMagneticField () |
Public Member Functions inherited from MagneticField | |
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... | |
MagneticField () | |
int | nominalValue () const |
The nominal field value for this map in kGauss. More... | |
virtual | ~MagneticField () |
Private Attributes | |
const MagGeometry * | field |
bool | magGeomOwned |
float | maxR |
float | maxZ |
const MagneticField * | paramField |
bool | paramFieldOwned |
Field engine providing interpolation within the full CMS region.
Definition at line 16 of file VolumeBasedMagneticField.h.
VolumeBasedMagneticField::VolumeBasedMagneticField | ( | const edm::ParameterSet & | config, |
std::vector< MagBLayer * > | theBLayers, | ||
std::vector< MagESector * > | theESectors, | ||
std::vector< MagVolume6Faces * > | theBVolumes, | ||
std::vector< MagVolume6Faces * > | theEVolumes, | ||
float | rMax, | ||
float | zMax, | ||
const MagneticField * | param = 0 , |
||
bool | isParamFieldOwned = false |
||
) |
Definition at line 5 of file VolumeBasedMagneticField.cc.
Referenced by clone().
|
virtual |
Definition at line 38 of file VolumeBasedMagneticField.cc.
References field, magGeomOwned, paramField, and paramFieldOwned.
VolumeBasedMagneticField::VolumeBasedMagneticField | ( | const VolumeBasedMagneticField & | vbf | ) |
Copy constructor implement a shallow copy (ie no ownership of actual engines)
Definition at line 22 of file VolumeBasedMagneticField.cc.
|
virtual |
Returns a shallow copy.
Reimplemented from MagneticField.
Definition at line 33 of file VolumeBasedMagneticField.cc.
References VolumeBasedMagneticField().
const MagVolume * VolumeBasedMagneticField::findVolume | ( | const GlobalPoint & | gp | ) | const |
Definition at line 61 of file VolumeBasedMagneticField.cc.
References field, and MagGeometry::findVolume().
Referenced by NavPropagator::findVolume(), SteppingHelixPropagator::getNextState(), and SteppingHelixPropagator::loadState().
|
virtual |
Field value ad specified global point, in Tesla.
Implements MagneticField.
Definition at line 43 of file VolumeBasedMagneticField.cc.
References field, MagGeometry::fieldInTesla(), MagneticField::inTeslaUnchecked(), isDefined(), MagneticField::isDefined(), and paramField.
Referenced by IsolatedPixelTrackCandidateProducer::GetEtaPhiAtEcal().
|
virtual |
Optional implementation that derived classes can implement to provide faster query by skipping the check to isDefined.
Reimplemented from MagneticField.
Definition at line 54 of file VolumeBasedMagneticField.cc.
References field, MagGeometry::fieldInTesla(), MagneticField::inTeslaUnchecked(), MagneticField::isDefined(), and paramField.
|
virtual |
True if the point is within the region where the concrete field.
Reimplemented from MagneticField.
Definition at line 67 of file VolumeBasedMagneticField.cc.
References maxR, maxZ, PV3DBase< T, PVType, FrameType >::perp(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by inTesla().
bool VolumeBasedMagneticField::isZSymmetric | ( | ) | const |
Definition at line 72 of file VolumeBasedMagneticField.cc.
References field, and MagGeometry::isZSymmetric().
Referenced by SteppingHelixPropagator::getNextState(), SteppingHelixPropagator::loadState(), SteppingHelixPropagator::makeAtomStep(), and SteppingHelixPropagator::refToMagVolume().
|
private |
Definition at line 47 of file VolumeBasedMagneticField.h.
Referenced by findVolume(), inTesla(), inTeslaUnchecked(), isZSymmetric(), and ~VolumeBasedMagneticField().
|
private |
Definition at line 51 of file VolumeBasedMagneticField.h.
Referenced by ~VolumeBasedMagneticField().
|
private |
Definition at line 48 of file VolumeBasedMagneticField.h.
Referenced by isDefined().
|
private |
Definition at line 49 of file VolumeBasedMagneticField.h.
Referenced by isDefined().
|
private |
Definition at line 50 of file VolumeBasedMagneticField.h.
Referenced by inTesla(), inTeslaUnchecked(), and ~VolumeBasedMagneticField().
|
private |
Definition at line 52 of file VolumeBasedMagneticField.h.
Referenced by ~VolumeBasedMagneticField().