#include <VolumeBasedMagneticField.h>
Public Member Functions | |
MagneticField * | clone () const override |
Returns a shallow copy. More... | |
const MagVolume * | findVolume (const GlobalPoint &gp) const |
GlobalVector | inTesla (const GlobalPoint &g) const override |
Field value ad specified global point, in Tesla. More... | |
GlobalVector | inTeslaUnchecked (const GlobalPoint &g) const override |
bool | isDefined (const GlobalPoint &gp) const override |
True if the point is within the region where the concrete field. More... | |
bool | isZSymmetric () const |
VolumeBasedMagneticField (int geomVersion, const std::vector< MagBLayer * > &theBLayers, const std::vector< MagESector * > &theESectors, const std::vector< MagVolume6Faces * > &theBVolumes, const 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... | |
~VolumeBasedMagneticField () override | |
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 () | |
MagneticField (const MagneticField &orig) | |
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 |
Friends | |
class | testMagGeometryAnalyzer |
class | testMagneticField |
Field engine providing interpolation within the full CMS region.
Definition at line 18 of file VolumeBasedMagneticField.h.
VolumeBasedMagneticField::VolumeBasedMagneticField | ( | int | geomVersion, |
const std::vector< MagBLayer * > & | theBLayers, | ||
const std::vector< MagESector * > & | theESectors, | ||
const std::vector< MagVolume6Faces * > & | theBVolumes, | ||
const std::vector< MagVolume6Faces * > & | theEVolumes, | ||
float | rMax, | ||
float | zMax, | ||
const MagneticField * | param = 0 , |
||
bool | isParamFieldOwned = false |
||
) |
Definition at line 4 of file VolumeBasedMagneticField.cc.
Referenced by clone().
|
override |
Definition at line 37 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 21 of file VolumeBasedMagneticField.cc.
|
overridevirtual |
Returns a shallow copy.
Reimplemented from MagneticField.
Definition at line 32 of file VolumeBasedMagneticField.cc.
References VolumeBasedMagneticField().
const MagVolume * VolumeBasedMagneticField::findVolume | ( | const GlobalPoint & | gp | ) | const |
Definition at line 60 of file VolumeBasedMagneticField.cc.
References field, and MagGeometry::findVolume().
Referenced by SteppingHelixPropagator::getNextState(), and SteppingHelixPropagator::loadState().
|
overridevirtual |
Field value ad specified global point, in Tesla.
Implements MagneticField.
Definition at line 42 of file VolumeBasedMagneticField.cc.
References field, MagGeometry::fieldInTesla(), MagneticField::inTeslaUnchecked(), isDefined(), MagneticField::isDefined(), and paramField.
Referenced by IsolatedPixelTrackCandidateProducer::beginRun(), and IsolatedPixelTrackCandidateL1TProducer::beginRun().
|
overridevirtual |
Optional implementation that derived classes can implement to provide faster query by skipping the check to isDefined.
Reimplemented from MagneticField.
Definition at line 53 of file VolumeBasedMagneticField.cc.
References field, MagGeometry::fieldInTesla(), MagneticField::inTeslaUnchecked(), MagneticField::isDefined(), and paramField.
|
overridevirtual |
True if the point is within the region where the concrete field.
Reimplemented from MagneticField.
Definition at line 66 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 71 of file VolumeBasedMagneticField.cc.
References field, and MagGeometry::isZSymmetric().
|
friend |
Definition at line 21 of file VolumeBasedMagneticField.h.
|
friend |
Definition at line 20 of file VolumeBasedMagneticField.h.
|
private |
Definition at line 53 of file VolumeBasedMagneticField.h.
Referenced by findVolume(), inTesla(), inTeslaUnchecked(), isZSymmetric(), and ~VolumeBasedMagneticField().
|
private |
Definition at line 57 of file VolumeBasedMagneticField.h.
Referenced by ~VolumeBasedMagneticField().
|
private |
Definition at line 54 of file VolumeBasedMagneticField.h.
Referenced by isDefined().
|
private |
Definition at line 55 of file VolumeBasedMagneticField.h.
Referenced by isDefined().
|
private |
Definition at line 56 of file VolumeBasedMagneticField.h.
Referenced by inTesla(), inTeslaUnchecked(), and ~VolumeBasedMagneticField().
|
private |
Definition at line 58 of file VolumeBasedMagneticField.h.
Referenced by ~VolumeBasedMagneticField().