CMS 3D CMS Logo

MagVolume Class Reference

#include <MagneticField/VolumeGeometry/interface/MagVolume.h>

Inheritance diagram for MagVolume:

GloballyPositioned< float > MagneticField MagCylinder MagVolume6Faces NavVolume RKTestMagVolume NavVolume6Faces

List of all members.

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


Detailed Description

Definition at line 14 of file MagVolume.h.


Member Typedef Documentation

typedef GloballyPositioned<float> MagVolume::Base

Definition at line 17 of file MagVolume.h.

typedef GloballyPositioned<float>::GlobalPoint MagVolume::GlobalPoint

Reimplemented from GloballyPositioned< float >.

Definition at line 20 of file MagVolume.h.

typedef GloballyPositioned<float>::GlobalVector MagVolume::GlobalVector

Reimplemented from GloballyPositioned< float >.

Definition at line 21 of file MagVolume.h.

typedef GloballyPositioned<float>::LocalPoint MagVolume::LocalPoint

Reimplemented from GloballyPositioned< float >.

Definition at line 18 of file MagVolume.h.

typedef GloballyPositioned<float>::LocalVector MagVolume::LocalVector

Reimplemented from GloballyPositioned< float >.

Definition at line 19 of file MagVolume.h.


Constructor & Destructor Documentation

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]

Definition at line 29 of file MagVolume.h.

00029 {}


Member Function Documentation

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().

00037                                                                         {
00038     return inside( toGlobal(lp), tolerance);
00039   }

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;}

void MagVolume::setIsIron ( bool  iron  )  [inline]

Definition at line 52 of file MagVolume.h.

References isIronFlag.

00052 {isIronFlag = iron;}

DDSolidShape MagVolume::shapeType (  )  const [inline]

Definition at line 31 of file MagVolume.h.

References theShape.

Referenced by SteppingHelixPropagator::refToMagVolume().

00031 {return theShape;}


Member Data Documentation

bool MagVolume::isIronFlag [private]

Definition at line 60 of file MagVolume.h.

Referenced by isIron(), and setIsIron().

const MagneticFieldProvider<float>* MagVolume::theProvider [private]

Definition at line 57 of file MagVolume.h.

Referenced by fieldInTesla(), and provider().

double MagVolume::theScalingFactor [private]

Definition at line 58 of file MagVolume.h.

Referenced by fieldInTesla().

DDSolidShape MagVolume::theShape [private]

Definition at line 56 of file MagVolume.h.

Referenced by shapeType().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:58 2009 for CMSSW by  doxygen 1.5.4