#include <MagneticField/VolumeGeometry/interface/MagVolume.h>
Public Types | |
typedef GloballyPositioned< float > | Base |
typedef GloballyPositioned < float >::GlobalPoint | GlobalPoint |
typedef GloballyPositioned < float >::GlobalVector | GlobalVector |
typedef GloballyPositioned < float >::LocalPoint | LocalPoint |
typedef GloballyPositioned < float >::LocalVector | LocalVector |
Public Member Functions | |
virtual const std::vector < VolumeSide > & | faces () const =0 |
Access to volume faces. | |
GlobalVector | fieldInTesla (const GlobalPoint &lp) const |
LocalVector | fieldInTesla (const LocalPoint &lp) const |
virtual bool | inside (const LocalPoint &lp, double tolerance=0.) const |
virtual bool | inside (const GlobalPoint &gp, double tolerance=0.) const =0 |
virtual ::GlobalVector | inTesla (const ::GlobalPoint &gp) const |
bool | isIron () const |
Temporary hack to pass information on material. Will eventually be replaced! | |
MagVolume (const PositionType &pos, const RotationType &rot, DDSolidShape shape, const MagneticFieldProvider< float > *mfp, double sf=1.) | |
const MagneticFieldProvider < float > * | provider () const |
void | setIsIron (bool iron) |
DDSolidShape | shapeType () const |
virtual | ~MagVolume () |
Private Attributes | |
bool | isIronFlag |
const MagneticFieldProvider < float > * | theProvider |
double | theScalingFactor |
DDSolidShape | theShape |
Definition at line 14 of file MagVolume.h.
typedef GloballyPositioned<float> MagVolume::Base |
Definition at line 17 of file MagVolume.h.
typedef GloballyPositioned<float>::GlobalPoint MagVolume::GlobalPoint |
typedef GloballyPositioned<float>::GlobalVector MagVolume::GlobalVector |
typedef GloballyPositioned<float>::LocalPoint MagVolume::LocalPoint |
typedef GloballyPositioned<float>::LocalVector MagVolume::LocalVector |
MagVolume::MagVolume | ( | const PositionType & | pos, | |
const RotationType & | rot, | |||
DDSolidShape | shape, | |||
const MagneticFieldProvider< float > * | mfp, | |||
double | sf = 1. | |||
) | [inline] |
Definition at line 23 of file MagVolume.h.
00025 : 00026 Base(pos,rot), MagneticField(), theShape(shape), theProvider(mfp), 00027 theScalingFactor(sf), isIronFlag(false) {}
virtual MagVolume::~MagVolume | ( | ) | [inline, virtual] |
virtual const std::vector<VolumeSide>& MagVolume::faces | ( | ) | const [pure virtual] |
Access to volume faces.
Implemented in MagCylinder, MagVolume6Faces, NavVolume6Faces, and RKTestMagVolume.
Referenced by NavVolume6Faces::NavVolume6Faces(), and SteppingHelixPropagator::refToMagVolume().
GlobalVector MagVolume::fieldInTesla | ( | const GlobalPoint & | lp | ) | const |
MagVolume::GlobalVector MagVolume::fieldInTesla | ( | const LocalPoint & | lp | ) | const |
Definition at line 6 of file MagVolume.cc.
References theProvider, theScalingFactor, and MagneticFieldProvider< T >::valueInTesla().
Referenced by MagGeometry::fieldInTesla(), inTesla(), and RKLocalFieldProvider::inTesla().
00007 { 00008 return theProvider->valueInTesla(lp)*theScalingFactor; 00009 }
virtual bool MagVolume::inside | ( | const LocalPoint & | lp, | |
double | tolerance = 0. | |||
) | const [inline, virtual] |
Reimplemented in MagCylinder, MagCylinder, MagVolume6Faces, NavVolume6Faces, and RKTestMagVolume.
Definition at line 37 of file MagVolume.h.
References inside(), and GloballyPositioned< float >::toGlobal().
virtual bool MagVolume::inside | ( | const GlobalPoint & | gp, | |
double | tolerance = 0. | |||
) | const [pure virtual] |
Implemented in MagCylinder, MagCylinder, MagVolume6Faces, NavVolume6Faces, and RKTestMagVolume.
Referenced by MagGeometry::findVolume(), MagBLayer::findVolume(), inside(), NavPropagator::propagateInVolume(), and SteppingHelixPropagator::refToMagVolume().
virtual ::GlobalVector MagVolume::inTesla | ( | const ::GlobalPoint & | gp | ) | const [inline] |
Definition at line 46 of file MagVolume.h.
References fieldInTesla().
Referenced by SteppingHelixPropagator::getNextState(), SteppingHelixPropagator::loadState(), and SteppingHelixPropagator::makeAtomStep().
00046 { 00047 return fieldInTesla( gp); 00048 }
bool MagVolume::isIron | ( | ) | const [inline] |
Temporary hack to pass information on material. Will eventually be replaced!
Reimplemented in NavVolume, and NavVolume6Faces.
Definition at line 51 of file MagVolume.h.
References isIronFlag.
00051 {return isIronFlag;}
const MagneticFieldProvider<float>* MagVolume::provider | ( | ) | const [inline] |
Definition at line 41 of file MagVolume.h.
References theProvider.
Referenced by SteppingHelixPropagator::isYokeVolume().
00041 {return theProvider;}
DDSolidShape MagVolume::shapeType | ( | ) | const [inline] |
Definition at line 31 of file MagVolume.h.
References theShape.
Referenced by SteppingHelixPropagator::refToMagVolume().
00031 {return theShape;}
bool MagVolume::isIronFlag [private] |
const MagneticFieldProvider<float>* MagVolume::theProvider [private] |
double MagVolume::theScalingFactor [private] |
DDSolidShape MagVolume::theShape [private] |