#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::TableFileMap * | theGridFiles |
std::map< int, double > | theScalingFactors |
Static Private Attributes | |
static bool | debug |
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.
Definition at line 33 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 78 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 59 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 106 of file MagGeoBuilderFromDDD.h.
MagGeoBuilderFromDDD::MagGeoBuilderFromDDD | ( | std::string | tableSet_, |
int | geometryVersion, | ||
bool | debug = false |
||
) |
Constructor.
Definition at line 61 of file MagGeoBuilderFromDDD.cc.
|
virtual |
Destructor.
Definition at line 70 of file MagGeoBuilderFromDDD.cc.
vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers | ( | ) | const |
Get barrel layers.
Definition at line 649 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 657 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
privatevirtual |
Definition at line 128 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 510 of file MagGeoBuilderFromDDD.cc.
|
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().
|
private |
Definition at line 667 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 678 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 683 of file MagGeoBuilderFromDDD.cc.
Referenced by MagGeoBuilderFromDDD::bSector::bSector(), and magneticfield::VolumeBasedMagneticFieldESProducer::produce().
void MagGeoBuilderFromDDD::setGridFiles | ( | const magneticfield::TableFileMap & | gridFiles | ) |
Definition at line 702 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
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().
|
private |
Definition at line 83 of file MagGeoBuilderFromDDD.cc.
|
private |
Definition at line 622 of file MagGeoBuilderFromDDD.cc.
|
friend |
Definition at line 68 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 71 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 69 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 70 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 67 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 119 of file MagGeoBuilderFromDDD.h.
|
staticprivate |
Definition at line 133 of file MagGeoBuilderFromDDD.h.
Referenced by MagGeoBuilderFromDDD::bLayer::bLayer(), MagGeoBuilderFromDDD::bRod::bRod(), MagGeoBuilderFromDDD::bSector::bSector(), MagGeoBuilderFromDDD::bSlab::bSlab(), MagGeoBuilderFromDDD::bLayer::buildMagBLayer(), and MagGeoBuilderFromDDD::eSector::eSector().
|
private |
Definition at line 122 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 128 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 124 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 125 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 127 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 131 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 130 of file MagGeoBuilderFromDDD.h.