CMS 3D CMS Logo

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

#include <MagGeometry.h>

Public Types

typedef Surface::GlobalPoint GlobalPoint
 
typedef Surface::GlobalVector GlobalVector
 

Public Member Functions

const std::vector
< MagVolume6Faces const * > & 
barrelVolumes () const
 
const std::vector
< MagVolume6Faces const * > & 
endcapVolumes () const
 
GlobalVector fieldInTesla (const GlobalPoint &gp) const
 Return field vector at the specified global point. More...
 
MagVolume const * findVolume (const GlobalPoint &gp, double tolerance=0.) const
 Find a volume. More...
 
bool isZSymmetric () const
 
 MagGeometry (int geomVersion, const std::vector< MagBLayer * > &, const std::vector< MagESector * > &, const std::vector< MagVolume6Faces * > &, const std::vector< MagVolume6Faces * > &)
 Constructor. More...
 
 MagGeometry (int geomVersion, const std::vector< MagBLayer const * > &, const std::vector< MagESector const * > &, const std::vector< MagVolume6Faces const * > &, const std::vector< MagVolume6Faces const * > &)
 
 ~MagGeometry ()
 Destructor. More...
 

Private Member Functions

MagVolume const * findVolume1 (const GlobalPoint &gp, double tolerance=0.) const
 
bool inBarrel (const GlobalPoint &gp) const
 

Private Attributes

bool cacheLastVolume
 
int geometryVersion
 
std::atomic< MagVolume const * > lastVolume
 
MagBinFinders::GeneralBinFinderInR
< double > const * 
theBarrelBinFinder
 
std::vector< MagBLayer const * > theBLayers
 
std::vector< MagVolume6Faces
const * > 
theBVolumes
 
PeriodicBinFinderInPhi< float >
const * 
theEndcapBinFinder
 
std::vector< MagESector const * > theESectors
 
std::vector< MagVolume6Faces
const * > 
theEVolumes
 

Friends

class MagGeometryExerciser
 

Detailed Description

Entry point to the geometry of magnetic volumes.

Author
N. Amapane - INFN Torino

Definition at line 23 of file MagGeometry.h.

Member Typedef Documentation

Definition at line 27 of file MagGeometry.h.

Definition at line 26 of file MagGeometry.h.

Constructor & Destructor Documentation

MagGeometry::MagGeometry ( int  geomVersion,
const std::vector< MagBLayer * > &  tbl,
const std::vector< MagESector * > &  tes,
const std::vector< MagVolume6Faces * > &  tbv,
const std::vector< MagVolume6Faces * > &  tev 
)

Constructor.

Definition at line 23 of file MagGeometry.cc.

MagGeometry::MagGeometry ( int  geomVersion,
const std::vector< MagBLayer const * > &  tbl,
const std::vector< MagESector const * > &  tes,
const std::vector< MagVolume6Faces const * > &  tbv,
const std::vector< MagVolume6Faces const * > &  tev 
)

Definition at line 30 of file MagGeometry.cc.

MagGeometry::~MagGeometry ( )

Destructor.

Definition at line 61 of file MagGeometry.cc.

Member Function Documentation

const std::vector<MagVolume6Faces const*>& MagGeometry::barrelVolumes ( ) const
inline

Definition at line 52 of file MagGeometry.h.

References theBVolumes.

52 {return theBVolumes;}
std::vector< MagVolume6Faces const * > theBVolumes
Definition: MagGeometry.h:71
const std::vector<MagVolume6Faces const*>& MagGeometry::endcapVolumes ( ) const
inline

Definition at line 53 of file MagGeometry.h.

References theEVolumes.

53 {return theEVolumes;}
std::vector< MagVolume6Faces const * > theEVolumes
Definition: MagGeometry.h:72
GlobalVector MagGeometry::fieldInTesla ( const GlobalPoint gp) const

Return field vector at the specified global point.

Definition at line 78 of file MagGeometry.cc.

Referenced by VolumeBasedMagneticField::inTesla(), and VolumeBasedMagneticField::inTeslaUnchecked().

MagVolume const * MagGeometry::findVolume ( const GlobalPoint gp,
double  tolerance = 0. 
) const

Find a volume.

Definition at line 137 of file MagGeometry.cc.

Referenced by VolumeBasedMagneticField::findVolume().

MagVolume const * MagGeometry::findVolume1 ( const GlobalPoint gp,
double  tolerance = 0. 
) const
private

Definition at line 101 of file MagGeometry.cc.

bool MagGeometry::inBarrel ( const GlobalPoint gp) const
private

Definition at line 186 of file MagGeometry.cc.

bool MagGeometry::isZSymmetric ( ) const
inline

Definition at line 49 of file MagGeometry.h.

Referenced by VolumeBasedMagneticField::isZSymmetric().

49 {return false;}

Friends And Related Function Documentation

friend class MagGeometryExerciser
friend

Definition at line 57 of file MagGeometry.h.

Member Data Documentation

bool MagGeometry::cacheLastVolume
private

Definition at line 77 of file MagGeometry.h.

int MagGeometry::geometryVersion
private

Definition at line 78 of file MagGeometry.h.

std::atomic<MagVolume const*> MagGeometry::lastVolume
mutableprivate

Definition at line 65 of file MagGeometry.h.

MagBinFinders::GeneralBinFinderInR<double> const* MagGeometry::theBarrelBinFinder
private

Definition at line 74 of file MagGeometry.h.

std::vector<MagBLayer const*> MagGeometry::theBLayers
private

Definition at line 67 of file MagGeometry.h.

std::vector<MagVolume6Faces const*> MagGeometry::theBVolumes
private

Definition at line 71 of file MagGeometry.h.

Referenced by barrelVolumes().

PeriodicBinFinderInPhi<float> const* MagGeometry::theEndcapBinFinder
private

Definition at line 75 of file MagGeometry.h.

std::vector<MagESector const*> MagGeometry::theESectors
private

Definition at line 68 of file MagGeometry.h.

std::vector<MagVolume6Faces const*> MagGeometry::theEVolumes
private

Definition at line 72 of file MagGeometry.h.

Referenced by endcapVolumes().