#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 version_, bool debug=false, bool overrideMasterSector=false) | |
float | maxR () const |
float | maxZ () const |
void | setScaling (std::vector< int > keys, 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 |
std::vector< MagBLayer * > | mBLayers |
std::vector< MagESector * > | mESectors |
bool | overrideMasterSector |
std::map< int, double > | theScalingFactors |
std::string | version |
Static Private Attributes | |
static bool | debug |
Friends | |
class | MagGeometry |
class | magneticfield::AutoMagneticFieldESProducer |
class | magneticfield::VolumeBasedMagneticFieldESProducer |
class | TestMagVolume |
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 32 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 78 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 60 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 106 of file MagGeoBuilderFromDDD.h.
MagGeoBuilderFromDDD::MagGeoBuilderFromDDD | ( | std::string | version_, |
bool | debug = false , |
||
bool | overrideMasterSector = false |
||
) |
Constructor. overrideMasterSector is a hack to allow switching between phi-symmetric maps and maps with sector-specific tables. It won't be necessary anymore once the geometry is decoupled from the specification of tables, ie when tables will come from the DB.
Definition at line 60 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, and debug.
|
virtual |
Destructor.
Definition at line 68 of file MagGeoBuilderFromDDD.cc.
References bVolumes, eVolumes, and i.
vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers | ( | ) | const |
Get barrel layers.
Definition at line 640 of file MagGeoBuilderFromDDD.cc.
References mBLayers.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 648 of file MagGeoBuilderFromDDD.cc.
References bVolumes, i, and v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
privatevirtual |
Definition at line 126 of file MagGeoBuilderFromDDD.cc.
References buildInterpolator(), buildMagVolumes(), bVolumes, MagGeoBuilderFromDDD::volumeHandle::center(), ClusterizingHistogram::clusterize(), MagGeoBuilderFromDDD::volumeHandle::copyno, gather_cfg::cout, debug, eVolumes, edm::hlt::Exception, f, ClusterizingHistogram::fill(), first, DDExpandedView::firstChild(), DDExpandedView::geoHistory(), i, prof2calltree::last, DDExpandedView::logicalPart(), MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, mBLayers, mESectors, DDName::name(), mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDExpandedView::nextSibling(), evf::evtn::offset(), overrideMasterSector, PV3DBase< T, PVType, FrameType >::perp(), precomputed_value_sort(), dttmaxenums::R, dtT0WireCalibration_cfg::resolution, DDExpandedView::rotation(), mergeVDriftHistosByStation::sectors, findQualityFiles::size, summary(), testInside(), DDExpandedView::translation(), v, Gflash::Z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 487 of file MagGeoBuilderFromDDD.cc.
References MFGridFactory::build(), MagGeoBuilderFromDDD::volumeHandle::center(), benchmark_cfg::cerr, MagGeoBuilderFromDDD::volumeHandle::copyno, gather_cfg::cout, Dimensions::d, debug, edm::FileInPath::fullPath(), Dimensions::h, i, j, gen::k, MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, MagGeoBuilderFromDDD::volumeHandle::name, PV3DBase< T, PVType, FrameType >::phi(), Geom::pi(), MagGeoBuilderFromDDD::volumeHandle::placement(), GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), MagGeoBuilderFromDDD::volumeHandle::shape(), MagGeoBuilderFromDDD::volumeHandle::sides(), MagGeoBuilderFromDDD::volumeHandle::toExpand(), version, Dimensions::w, MagException::what(), cms::Exception::what(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by build().
|
private |
Definition at line 425 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, combine::key, mergeVDriftHistosByStation::name, MagVolume::ownsFieldProvider(), GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), and theScalingFactors.
Referenced by build().
vector< MagESector * > MagGeoBuilderFromDDD::endcapSectors | ( | ) | const |
Get endcap layers.
Definition at line 644 of file MagGeoBuilderFromDDD.cc.
References mESectors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 658 of file MagGeoBuilderFromDDD.cc.
References eVolumes, i, and v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 669 of file MagGeoBuilderFromDDD.cc.
References version.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 677 of file MagGeoBuilderFromDDD.cc.
Referenced by MagGeoBuilderFromDDD::bSector::bSector(), and magneticfield::VolumeBasedMagneticFieldESProducer::produce().
void MagGeoBuilderFromDDD::setScaling | ( | std::vector< int > | keys, |
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 683 of file MagGeoBuilderFromDDD.cc.
References edm::hlt::Exception, i, and theScalingFactors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 81 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, first, i, prof2calltree::last, and edm::second().
Referenced by build().
|
private |
Definition at line 613 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, and i.
Referenced by build().
|
friend |
Definition at line 69 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 71 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 70 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 68 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 119 of file MagGeoBuilderFromDDD.h.
Referenced by barrelVolumes(), build(), and ~MagGeoBuilderFromDDD().
|
staticprivate |
Definition at line 133 of file MagGeoBuilderFromDDD.h.
Referenced by MagGeoBuilderFromDDD::bLayer::bLayer(), MagGeoBuilderFromDDD::bRod::bRod(), MagGeoBuilderFromDDD::bSector::bSector(), MagGeoBuilderFromDDD::bSlab::bSlab(), build(), buildInterpolator(), MagGeoBuilderFromDDD::bLayer::buildMagBLayer(), MagGeoBuilderFromDDD::volumeHandle::buildPhiZSurf(), MagGeoBuilderFromDDD::eSector::eSector(), MagGeoBuilderFromDDD(), MagGeoBuilderFromDDD::volumeHandle::referencePlane(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), MagGeoBuilderFromDDD::volumeHandle::setSurface(), and MagGeoBuilderFromDDD::volumeHandle::volumeHandle().
|
private |
Definition at line 122 of file MagGeoBuilderFromDDD.h.
Referenced by build(), endcapVolumes(), and ~MagGeoBuilderFromDDD().
|
private |
Definition at line 124 of file MagGeoBuilderFromDDD.h.
Referenced by barrelLayers(), and build().
|
private |
Definition at line 125 of file MagGeoBuilderFromDDD.h.
Referenced by build(), and endcapSectors().
|
private |
Definition at line 131 of file MagGeoBuilderFromDDD.h.
Referenced by build().
|
private |
Definition at line 129 of file MagGeoBuilderFromDDD.h.
Referenced by buildMagVolumes(), and setScaling().
|
private |
Definition at line 127 of file MagGeoBuilderFromDDD.h.
Referenced by buildInterpolator(), and maxR().