6 std::vector<MagBLayer *> theBLayers,
7 std::vector<MagESector *> theESectors,
8 std::vector<MagVolume6Faces*> theBVolumes,
9 std::vector<MagVolume6Faces*> theEVolumes,
10 float rMax,
float zMax,
12 bool isParamFieldOwned) :
13 field(new
MagGeometry(config,theBLayers,theESectors,theBVolumes,theEVolumes)),
18 paramFieldOwned(isParamFieldOwned)
26 paramField(vbf.paramField),
28 paramFieldOwned(
false) {
GlobalVector inTeslaUnchecked(const GlobalPoint &g) const
bool isZSymmetric() const
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.
const MagGeometry * field
const MagVolume * findVolume(const GlobalPoint &gp) const
virtual MagneticField * clone() const
Returns a shallow copy.
virtual ~VolumeBasedMagneticField()
bool isZSymmetric() const
bool isDefined(const GlobalPoint &gp) const
True if the point is within the region where the concrete field.
GlobalVector inTesla(const GlobalPoint &g) const
Field value ad specified global point, in Tesla.
const MagneticField * paramField
GlobalVector fieldInTesla(const GlobalPoint &gp) const
Return field vector at the specified global point.
MagVolume * findVolume(const GlobalPoint &gp, double tolerance=0.) const
Find a volume.
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)
Global3DVector GlobalVector