CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

MagVolume Class Reference

#include <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.
LocalVector fieldInTesla (const LocalPoint &lp) const
GlobalVector fieldInTesla (const GlobalPoint &lp) const
virtual bool inside (const GlobalPoint &gp, double tolerance=0.) const =0
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!
 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 ()

Private Attributes

bool isIronFlag
const MagneticFieldProvider
< float > * 
theProvider
bool theProviderOwned
double theScalingFactor
DDSolidShape theShape

Detailed Description

Definition at line 14 of file MagVolume.h.


Member Typedef Documentation

Definition at line 17 of file MagVolume.h.

Reimplemented from GloballyPositioned< float >.

Definition at line 20 of file MagVolume.h.

Reimplemented from GloballyPositioned< float >.

Definition at line 21 of file MagVolume.h.

Reimplemented from GloballyPositioned< float >.

Definition at line 18 of file MagVolume.h.

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.

                           :
    Base(pos,rot), MagneticField(), theShape(shape), theProvider(mfp), 
    theProviderOwned(false), theScalingFactor(sf), isIronFlag(false) {}
MagVolume::~MagVolume ( ) [virtual]

Definition at line 6 of file MagVolume.cc.

References theProvider, and theProviderOwned.

                      {
  if (theProviderOwned) delete theProvider;
}

Member Function Documentation

virtual const std::vector<VolumeSide>& MagVolume::faces ( ) const [pure virtual]
MagVolume::LocalVector MagVolume::fieldInTesla ( const LocalPoint lp) const
MagVolume::GlobalVector MagVolume::fieldInTesla ( const GlobalPoint lp) const
virtual bool MagVolume::inside ( const GlobalPoint gp,
double  tolerance = 0. 
) const [pure virtual]
virtual bool MagVolume::inside ( const LocalPoint lp,
double  tolerance = 0. 
) const [inline, virtual]

Reimplemented in MagCylinder.

Definition at line 37 of file MagVolume.h.

References inside(), and GloballyPositioned< float >::toGlobal().

                                                                        {
    return inside( toGlobal(lp), tolerance);
  }
virtual ::GlobalVector MagVolume::inTesla ( const ::GlobalPoint gp) const [inline]
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.

Referenced by SteppingHelixPropagator::isYokeVolume().

{return isIronFlag;}
void MagVolume::ownsFieldProvider ( bool  o) [inline]

Definition at line 53 of file MagVolume.h.

References connectstrParser::o, and theProviderOwned.

Referenced by MagGeoBuilderFromDDD::buildMagVolumes().

const MagneticFieldProvider<float>* MagVolume::provider ( ) const [inline]

Definition at line 41 of file MagVolume.h.

References theProvider.

{return theProvider;}
void MagVolume::setIsIron ( bool  iron) [inline]

Definition at line 52 of file MagVolume.h.

References isIronFlag.

{isIronFlag = iron;}
DDSolidShape MagVolume::shapeType ( ) const [inline]

Definition at line 31 of file MagVolume.h.

References theShape.

Referenced by SteppingHelixPropagator::refToMagVolume().

{return theShape;}

Member Data Documentation

bool MagVolume::isIronFlag [private]

Definition at line 62 of file MagVolume.h.

Referenced by isIron(), and setIsIron().

Definition at line 58 of file MagVolume.h.

Referenced by fieldInTesla(), provider(), and ~MagVolume().

Definition at line 59 of file MagVolume.h.

Referenced by ownsFieldProvider(), and ~MagVolume().

double MagVolume::theScalingFactor [private]

Definition at line 60 of file MagVolume.h.

Referenced by fieldInTesla().

Definition at line 57 of file MagVolume.h.

Referenced by shapeType().