CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
NavVolume6Faces Class Referencefinal

#include <NavVolume6Faces.h>

Inheritance diagram for NavVolume6Faces:
NavVolume MagVolume GloballyPositioned< float > MagneticField

Public Member Functions

virtual VolumeCrossReturnType crossToNextVolume (const TrajectoryStateOnSurface &currentState, 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 ()
 
 GloballyPositioned (const PositionType &pos, const RotationType &rot)
 
void move (const GlobalVector &displacement)
 
float phi () const
 
const PositionTypeposition () const
 
void rotate (const RotationType &rotation)
 
const RotationTyperotation () const
 
GlobalPoint toGlobal (const LocalPoint &lp) const
 
Point3DBase< U, GlobalTagtoGlobal (const Point3DBase< U, LocalTag > &lp) const
 
GlobalVector toGlobal (const LocalVector &lv) const
 
Vector3DBase< U, GlobalTagtoGlobal (const Vector3DBase< U, LocalTag > &lv) const
 
LocalPoint toLocal (const GlobalPoint &gp) const
 
Point3DBase< U, LocalTagtoLocal (const Point3DBase< U, GlobalTag > &gp) const
 
LocalVector toLocal (const GlobalVector &gv) const
 
Vector3DBase< U, LocalTagtoLocal (const Vector3DBase< U, GlobalTag > &gv) const
 
virtual ~GloballyPositioned ()
 
- Public Member Functions inherited from MagneticField
virtual MagneticFieldclone () 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 &) const
 True if the point is within the region where the concrete field. More...
 
 MagneticField ()
 
 MagneticField (const MagneticField &orig)
 
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)
 
BoundscomputeBounds (int index, const std::vector< const Plane * > &bpc)
 
BoundscomputeBounds (int index, const std::vector< NavVolumeSide > &faces)
 

Private Attributes

bool isThisIron
 
std::vector< VolumeSidetheFaces
 
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 ()
 

Detailed Description

Definition at line 13 of file NavVolume6Faces.h.

Constructor & Destructor Documentation

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.

NavVolume6Faces::NavVolume6Faces ( const MagVolume magvol,
const bool  isIron = false 
)
explicit

A NavVolume6Faces that corresponds exactly to a MagVolume.

Definition at line 44 of file NavVolume6Faces.cc.

Member Function Documentation

void NavVolume6Faces::computeBounds ( const std::vector< NavVolumeSide > &  faces)
private

Definition at line 73 of file NavVolume6Faces.cc.

Bounds * NavVolume6Faces::computeBounds ( int  index,
const std::vector< const Plane * > &  bpc 
)
private

Definition at line 110 of file NavVolume6Faces.cc.

Bounds * NavVolume6Faces::computeBounds ( int  index,
const std::vector< NavVolumeSide > &  faces 
)
private

Definition at line 157 of file NavVolume6Faces.cc.

VolumeCrossReturnType NavVolume6Faces::crossToNextVolume ( const TrajectoryStateOnSurface currentState,
const Propagator prop 
) const
virtual

Cross this volume and point at the next.

Implements NavVolume.

Definition at line 250 of file NavVolume6Faces.cc.

virtual const std::vector<VolumeSide>& NavVolume6Faces::faces ( ) const
inlinevirtual

Access to volume faces.

Implements MagVolume.

Definition at line 39 of file NavVolume6Faces.h.

References theFaces.

39 { return theFaces; }
std::vector< VolumeSide > theFaces
bool NavVolume6Faces::inside ( const GlobalPoint gp,
double  tolerance 
) const
virtual

Implements MagVolume.

Definition at line 61 of file NavVolume6Faces.cc.

bool NavVolume6Faces::isIron ( ) const
inlinevirtual

Access to Iron/Air information:

Implements NavVolume.

Definition at line 42 of file NavVolume6Faces.h.

References isThisIron.

42 { return isThisIron; }
NavVolume::Container NavVolume6Faces::nextSurface ( const NavVolume::LocalPoint pos,
const NavVolume::LocalVector mom,
double  charge,
PropagationDirection  propDir = alongMomentum 
) const
virtual

Give a sorted list of possible surfaces to propagate to.

Implements NavVolume.

Definition at line 174 of file NavVolume6Faces.cc.

NavVolume::Container NavVolume6Faces::nextSurface ( const NavVolume::LocalPoint pos,
const NavVolume::LocalVector mom,
double  charge,
PropagationDirection  propDir,
ConstReferenceCountingPointer< Surface NotThisSurfaceP 
) const
virtual

Same, giving lowest priority to the surface we are on now (=NotThisSurface)

Implements NavVolume.

Definition at line 208 of file NavVolume6Faces.cc.

Member Data Documentation

bool NavVolume6Faces::isThisIron
private

Definition at line 51 of file NavVolume6Faces.h.

Referenced by isIron().

std::vector<VolumeSide> NavVolume6Faces::theFaces
private

Definition at line 49 of file NavVolume6Faces.h.

Referenced by faces().

Container NavVolume6Faces::theNavSurfaces
private

Definition at line 50 of file NavVolume6Faces.h.