#include <NavVolume6Faces.h>
Public Member Functions | |
virtual VolumeCrossReturnType | crossToNextVolume (const TrajectoryStateOnSurface ¤tState, const Propagator &prop) const |
Cross this volume and point at the next. More... | |
virtual const std::vector < VolumeSide > & | faces () const |
Access to volume faces. More... | |
bool | inside (const GlobalPoint &gp, double tolerance) const |
bool | isIron () const |
Access to Iron/Air information: More... | |
NavVolume6Faces (const PositionType &pos, const RotationType &rot, DDSolidShape shape, const std::vector< NavVolumeSide > &faces, const MagneticFieldProvider< float > *mfp) | |
NavVolume6Faces (const MagVolume &magvol, const bool isIron=false) | |
A NavVolume6Faces that corresponds exactly to a MagVolume. More... | |
virtual Container | nextSurface (const NavVolume::LocalPoint &pos, const NavVolume::LocalVector &mom, double charge, PropagationDirection propDir=alongMomentum) const |
Give a sorted list of possible surfaces to propagate to. More... | |
virtual Container | nextSurface (const NavVolume::LocalPoint &pos, const NavVolume::LocalVector &mom, double charge, PropagationDirection propDir, ConstReferenceCountingPointer< Surface > NotThisSurfaceP) const |
Same, giving lowest priority to the surface we are on now (=NotThisSurface) More... | |
Public Member Functions inherited from NavVolume | |
NavVolume (const PositionType &pos, const RotationType &rot, DDSolidShape shape, const MagneticFieldProvider< float > *mfp) | |
virtual | ~NavVolume () |
Public Member Functions inherited from MagVolume | |
LocalVector | fieldInTesla (const LocalPoint &lp) const |
GlobalVector | fieldInTesla (const GlobalPoint &lp) const |
virtual bool | inside (const LocalPoint &lp, double tolerance=0.) const |
virtual ::GlobalVector | inTesla (const ::GlobalPoint &gp) const |
bool | isIron () const |
Temporary hack to pass information on material. Will eventually be replaced! More... | |
MagVolume (const PositionType &pos, const RotationType &rot, DDSolidShape shape, const MagneticFieldProvider< float > *mfp, double sf=1.) | |
void | ownsFieldProvider (bool o) |
const MagneticFieldProvider < float > * | provider () const |
void | setIsIron (bool iron) |
DDSolidShape | shapeType () const |
virtual | ~MagVolume () |
Public Member Functions inherited from GloballyPositioned< float > | |
float | eta () const |
GloballyPositioned (const PositionType &pos, const RotationType &rot) | |
void | move (const GlobalVector &displacement) |
float | phi () const |
const PositionType & | position () const |
void | rotate (const RotationType &rotation) |
const RotationType & | rotation () const |
GlobalPoint | toGlobal (const LocalPoint &lp) const |
Point3DBase< U, GlobalTag > | toGlobal (const Point3DBase< U, LocalTag > &lp) const |
GlobalVector | toGlobal (const LocalVector &lv) const |
Vector3DBase< U, GlobalTag > | toGlobal (const Vector3DBase< U, LocalTag > &lv) const |
LocalPoint | toLocal (const GlobalPoint &gp) const |
Point3DBase< U, LocalTag > | toLocal (const Point3DBase< U, GlobalTag > &gp) const |
LocalVector | toLocal (const GlobalVector &gv) const |
Vector3DBase< U, LocalTag > | toLocal (const Vector3DBase< U, GlobalTag > &gv) const |
virtual | ~GloballyPositioned () |
Public Member Functions inherited from MagneticField | |
virtual MagneticField * | clone () const |
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... | |
virtual GlobalVector | inTesla (const GlobalPoint &gp) const =0 |
Field value ad specified global point, in Tesla. More... | |
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. More... | |
MagneticField () | |
int | nominalValue () const |
The nominal field value for this map in kGauss. More... | |
virtual | ~MagneticField () |
Private Member Functions | |
void | computeBounds (const std::vector< NavVolumeSide > &faces) |
Bounds * | computeBounds (int index, const std::vector< const Plane * > &bpc) |
Bounds * | computeBounds (int index, const std::vector< NavVolumeSide > &faces) |
Private Attributes | |
bool | isThisIron |
std::vector< VolumeSide > | theFaces |
Container | theNavSurfaces |
Additional Inherited Members | |
Public Types inherited from NavVolume | |
typedef std::vector < SurfaceAndBounds > | Container |
Public Types inherited from MagVolume | |
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 Types inherited from GloballyPositioned< float > | |
typedef Point3DBase< float, GlobalTag > | GlobalPoint |
typedef Vector3DBase< float, GlobalTag > | GlobalVector |
typedef Point3DBase< float, LocalTag > | LocalPoint |
typedef Vector3DBase< float, LocalTag > | LocalVector |
typedef Point3DBase< float, GlobalTag > | PositionType |
typedef TkRotation< float > | RotationType |
typedef float | Scalar |
Static Public Member Functions inherited from GloballyPositioned< float > | |
static float | iniEta () |
static float | iniPhi () |
Definition at line 13 of file NavVolume6Faces.h.
NavVolume6Faces::NavVolume6Faces | ( | const PositionType & | pos, |
const RotationType & | rot, | ||
DDSolidShape | shape, | ||
const std::vector< NavVolumeSide > & | faces, | ||
const MagneticFieldProvider< float > * | mfp | ||
) |
Definition at line 25 of file NavVolume6Faces.cc.
References computeBounds(), i, and theFaces.
|
explicit |
A NavVolume6Faces that corresponds exactly to a MagVolume.
Definition at line 44 of file NavVolume6Faces.cc.
References computeBounds(), MagVolume::faces(), and i.
|
private |
Definition at line 73 of file NavVolume6Faces.cc.
References NavSurface::addVolume(), NavSurface::bounds(), i, and theNavSurfaces.
Referenced by NavVolume6Faces().
|
private |
Definition at line 110 of file NavVolume6Faces.cc.
References gather_cfg::cout, ThreePlaneCrossing::crossing(), alignCSCRings::e, i, j, Plane::localZ(), Plane::normalVector(), SurfaceOrientation::onSurface, GloballyPositioned< T >::position(), Plane::side(), and GloballyPositioned< T >::toLocal().
|
private |
Definition at line 157 of file NavVolume6Faces.cc.
References j, NavSurface::surface(), NavVolumeSide::surface(), and NavVolumeSide::surfaceSide().
|
virtual |
Cross this volume and point at the next.
Implements NavVolume.
Definition at line 250 of file NavVolume6Faces.cc.
References alongMomentum, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), LogDebug, nextSurface(), oppositeSide(), evf::utils::state, TrajectoryStateOnSurface::surface(), and GloballyPositioned< float >::toLocal().
|
inlinevirtual |
Access to volume faces.
Implements MagVolume.
Definition at line 39 of file NavVolume6Faces.h.
References theFaces.
|
virtual |
Implements MagVolume.
Definition at line 61 of file NavVolume6Faces.cc.
References i, SurfaceOrientation::onSurface, and theFaces.
|
inlinevirtual |
Access to Iron/Air information:
Implements NavVolume.
Definition at line 42 of file NavVolume6Faces.h.
References isThisIron.
|
virtual |
Give a sorted list of possible surfaces to propagate to.
Implements NavVolume.
Definition at line 174 of file NavVolume6Faces.cc.
References alongMomentum, epsilon, i, query::result, theNavSurfaces, and GloballyPositioned< float >::toGlobal().
Referenced by crossToNextVolume().
|
virtual |
Same, giving lowest priority to the surface we are on now (=NotThisSurface)
Implements NavVolume.
Definition at line 208 of file NavVolume6Faces.cc.
References alongMomentum, epsilon, i, query::result, theNavSurfaces, and GloballyPositioned< float >::toGlobal().
|
private |
Definition at line 51 of file NavVolume6Faces.h.
Referenced by isIron().
|
private |
Definition at line 49 of file NavVolume6Faces.h.
Referenced by faces(), inside(), and NavVolume6Faces().
|
private |
Definition at line 50 of file NavVolume6Faces.h.
Referenced by computeBounds(), and nextSurface().