#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_, 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 |
int | geometryVersion |
std::vector< MagBLayer * > | mBLayers |
std::vector< MagESector * > | mESectors |
bool | overrideMasterSector |
std::string | tableSet |
std::map< int, double > | theScalingFactors |
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 | tableSet_, |
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 69 of file MagGeoBuilderFromDDD.cc.
References bVolumes, eVolumes, and i.
vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers | ( | ) | const |
Get barrel layers.
Definition at line 628 of file MagGeoBuilderFromDDD.cc.
References mBLayers.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 636 of file MagGeoBuilderFromDDD.cc.
References bVolumes, i, and v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
privatevirtual |
Definition at line 127 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(), Geom::fpi(), Geom::ftwoPi(), 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, dtDQMClient_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 490 of file MagGeoBuilderFromDDD.cc.
References MFGridFactory::build(), MagGeoBuilderFromDDD::volumeHandle::center(), dtNoiseDBValidation_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(), makeMuonMisalignmentScenario::rot, GloballyPositioned< T >::rotation(), MagGeoBuilderFromDDD::volumeHandle::shape(), MagGeoBuilderFromDDD::volumeHandle::sides(), tableSet, MagGeoBuilderFromDDD::volumeHandle::toExpand(), Dimensions::w, MagException::what(), and cms::Exception::what().
Referenced by build().
|
private |
Definition at line 428 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 632 of file MagGeoBuilderFromDDD.cc.
References mESectors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 646 of file MagGeoBuilderFromDDD.cc.
References eVolumes, i, and v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 657 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 664 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 670 of file MagGeoBuilderFromDDD.cc.
References edm::hlt::Exception, i, and theScalingFactors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 82 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, first, i, prof2calltree::last, and edm::second().
Referenced by build().
|
private |
Definition at line 601 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 134 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 128 of file MagGeoBuilderFromDDD.h.
|
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 132 of file MagGeoBuilderFromDDD.h.
Referenced by build().
|
private |
Definition at line 127 of file MagGeoBuilderFromDDD.h.
Referenced by buildInterpolator().
|
private |
Definition at line 130 of file MagGeoBuilderFromDDD.h.
Referenced by buildMagVolumes(), and setScaling().