CMS 3D CMS Logo

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

#include <MagGeoBuilderFromDDD.h>

Classes

class  bLayer
 
class  bRod
 
class  bSector
 
class  bSlab
 
class  eLayer
 
class  eSector
 
struct  ExtractAbsZ
 
struct  ExtractPhi
 
struct  ExtractPhiMax
 
struct  ExtractR
 
struct  ExtractRN
 
struct  ExtractZ
 
struct  LessDPhi
 
struct  LessZ
 
class  volumeHandle
 

Public Member Functions

std::vector< MagBLayer * > barrelLayers () const
 Get barrel layers. More...
 
std::vector< MagESector * > endcapSectors () const
 Get endcap layers. More...
 
 MagGeoBuilderFromDDD (std::string tableSet_, int geometryVersion, bool debug=false)
 Constructor. More...
 
float maxR () const
 
float maxZ () const
 
void setGridFiles (const magneticfield::TableFileMap &gridFiles)
 
void setScaling (const std::vector< int > &keys, const std::vector< double > &values)
 
virtual ~MagGeoBuilderFromDDD ()
 Destructor. More...
 

Private Types

typedef std::vector
< volumeHandle * > 
handles
 
typedef
ConstReferenceCountingPointer
< Surface
RCPS
 
typedef std::unary_function
< const volumeHandle *, double > 
uFcn
 

Private Member Functions

std::vector< MagVolume6Faces * > barrelVolumes () const
 
virtual void build (const DDCompactView &cpv)
 
void buildInterpolator (const volumeHandle *vol, std::map< std::string, MagProviderInterpol * > &interpolators)
 
void buildMagVolumes (const handles &volumes, std::map< std::string, MagProviderInterpol * > &interpolators)
 
std::vector< MagVolume6Faces * > endcapVolumes () const
 
void summary (handles &volumes)
 
void testInside (handles &volumes)
 

Private Attributes

handles bVolumes
 
handles eVolumes
 
int geometryVersion
 
std::vector< MagBLayer * > mBLayers
 
std::vector< MagESector * > mESectors
 
std::string tableSet
 
const magneticfield::TableFileMaptheGridFiles
 
std::map< int, double > theScalingFactors
 

Static Private Attributes

static bool debug
 

Friends

class MagGeometry
 
class magneticfield::AutoMagneticFieldESProducer
 
class magneticfield::VolumeBasedMagneticFieldESProducer
 
class magneticfield::VolumeBasedMagneticFieldESProducerFromDB
 
class TestMagVolume
 

Detailed Description

Parse the XML magnetic geometry, build individual volumes and match their shared surfaces. Build MagVolume6Faces and organise them in a hierarchical structure. Build MagGeometry out of it.

Author
N. Amapane - INFN Torino

Definition at line 33 of file MagGeoBuilderFromDDD.h.

Member Typedef Documentation

typedef std::vector<volumeHandle*> MagGeoBuilderFromDDD::handles
private

Definition at line 78 of file MagGeoBuilderFromDDD.h.

Definition at line 59 of file MagGeoBuilderFromDDD.h.

typedef std::unary_function<const volumeHandle*, double> MagGeoBuilderFromDDD::uFcn
private

Definition at line 106 of file MagGeoBuilderFromDDD.h.

Constructor & Destructor Documentation

MagGeoBuilderFromDDD::MagGeoBuilderFromDDD ( std::string  tableSet_,
int  geometryVersion,
bool  debug = false 
)

Constructor.

Definition at line 61 of file MagGeoBuilderFromDDD.cc.

MagGeoBuilderFromDDD::~MagGeoBuilderFromDDD ( )
virtual

Destructor.

Definition at line 70 of file MagGeoBuilderFromDDD.cc.

Member Function Documentation

vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers ( ) const

Get barrel layers.

Definition at line 649 of file MagGeoBuilderFromDDD.cc.

Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().

vector< MagVolume6Faces * > MagGeoBuilderFromDDD::barrelVolumes ( ) const
private
void MagGeoBuilderFromDDD::build ( const DDCompactView cpv)
privatevirtual
void MagGeoBuilderFromDDD::buildInterpolator ( const volumeHandle vol,
std::map< std::string, MagProviderInterpol * > &  interpolators 
)
private

Definition at line 510 of file MagGeoBuilderFromDDD.cc.

void MagGeoBuilderFromDDD::buildMagVolumes ( const handles volumes,
std::map< std::string, MagProviderInterpol * > &  interpolators 
)
private

Definition at line 462 of file MagGeoBuilderFromDDD.cc.

vector< MagESector * > MagGeoBuilderFromDDD::endcapSectors ( ) const

Get endcap layers.

Definition at line 653 of file MagGeoBuilderFromDDD.cc.

Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().

vector< MagVolume6Faces * > MagGeoBuilderFromDDD::endcapVolumes ( ) const
private
float MagGeoBuilderFromDDD::maxR ( ) const
float MagGeoBuilderFromDDD::maxZ ( ) const
void MagGeoBuilderFromDDD::setGridFiles ( const magneticfield::TableFileMap gridFiles)
void MagGeoBuilderFromDDD::setScaling ( const std::vector< int > &  keys,
const std::vector< double > &  values 
)

Set scaling factors for individual volumes. "keys" is a vector of 100*volume number + sector (sector 0 = all sectors) "values" are the corresponding scaling factors

Definition at line 690 of file MagGeoBuilderFromDDD.cc.

Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().

void MagGeoBuilderFromDDD::summary ( handles volumes)
private

Definition at line 83 of file MagGeoBuilderFromDDD.cc.

void MagGeoBuilderFromDDD::testInside ( handles volumes)
private

Definition at line 622 of file MagGeoBuilderFromDDD.cc.

Friends And Related Function Documentation

friend class MagGeometry
friend

Definition at line 68 of file MagGeoBuilderFromDDD.h.

Definition at line 71 of file MagGeoBuilderFromDDD.h.

Definition at line 69 of file MagGeoBuilderFromDDD.h.

Definition at line 70 of file MagGeoBuilderFromDDD.h.

friend class TestMagVolume
friend

Definition at line 67 of file MagGeoBuilderFromDDD.h.

Member Data Documentation

handles MagGeoBuilderFromDDD::bVolumes
private

Definition at line 119 of file MagGeoBuilderFromDDD.h.

bool MagGeoBuilderFromDDD::debug
staticprivate
handles MagGeoBuilderFromDDD::eVolumes
private

Definition at line 122 of file MagGeoBuilderFromDDD.h.

int MagGeoBuilderFromDDD::geometryVersion
private

Definition at line 128 of file MagGeoBuilderFromDDD.h.

std::vector<MagBLayer*> MagGeoBuilderFromDDD::mBLayers
private

Definition at line 124 of file MagGeoBuilderFromDDD.h.

std::vector<MagESector*> MagGeoBuilderFromDDD::mESectors
private

Definition at line 125 of file MagGeoBuilderFromDDD.h.

std::string MagGeoBuilderFromDDD::tableSet
private

Definition at line 127 of file MagGeoBuilderFromDDD.h.

const magneticfield::TableFileMap* MagGeoBuilderFromDDD::theGridFiles
private

Definition at line 131 of file MagGeoBuilderFromDDD.h.

std::map<int, double> MagGeoBuilderFromDDD::theScalingFactors
private

Definition at line 130 of file MagGeoBuilderFromDDD.h.