#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.
References gather_cfg::cout, and debug.
|
virtual |
Destructor.
Definition at line 70 of file MagGeoBuilderFromDDD.cc.
References bVolumes, eVolumes, and i.
vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers | ( | ) | const |
Get barrel layers.
Definition at line 649 of file MagGeoBuilderFromDDD.cc.
References mBLayers.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 657 of file MagGeoBuilderFromDDD.cc.
References bVolumes, i, and findQualityFiles::v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
privatevirtual |
Definition at line 128 of file MagGeoBuilderFromDDD.cc.
References buildInterpolator(), buildMagVolumes(), bVolumes, MagGeoBuilderFromDDD::volumeHandle::center(), ClusterizingHistogram::clusterize(), conv, MagGeoBuilderFromDDD::volumeHandle::copyno, gather_cfg::cout, debug, eVolumes, Exception, f, ClusterizingHistogram::fill(), plotBeamSpotDB::first, DDExpandedView::firstChild(), Geom::fpi(), Geom::ftwoPi(), DDExpandedView::geoHistory(), i, relval_steps::key, plotBeamSpotDB::last, LayerTriplets::layers(), DDExpandedView::logicalPart(), MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, mBLayers, mESectors, DDName::name(), mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDExpandedView::nextSibling(), hltrates_dqm_sourceclient-live_cfg::offset, PV3DBase< T, PVType, FrameType >::perp(), precomputed_value_sort(), dttmaxenums::R, dtDQMClient_cfg::resolution, svgfig::rotate(), DDExpandedView::rotation(), mergeVDriftHistosByStation::sectors, AlCaHLTBitMon_QueryRunRegistry::string, summary(), testInside(), theGridFiles, DDExpandedView::translation(), findQualityFiles::v, MagGeoBuilderFromDDD::volumeHandle::volumeno, Gflash::Z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 510 of file MagGeoBuilderFromDDD.cc.
References MFGridFactory::build(), MagGeoBuilderFromDDD::volumeHandle::center(), ecal_dqm_sourceclient-live_cfg::cerr, MagGeoBuilderFromDDD::volumeHandle::copyno, gather_cfg::cout, Dimensions::d, debug, contentValuesFiles::fullPath, edm::FileInPath::fullPath(), getRunAppsInfo::grid, Dimensions::h, i, j, relval_2017::k, MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, 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(), MagGeoBuilderFromDDD::volumeHandle::volumeno, Dimensions::w, MagException::what(), and cms::Exception::what().
Referenced by build().
|
private |
Definition at line 462 of file MagGeoBuilderFromDDD.cc.
References relval_steps::key, MagVolume::ownsFieldProvider(), GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), and theScalingFactors.
Referenced by build().
vector< MagESector * > MagGeoBuilderFromDDD::endcapSectors | ( | ) | const |
Get endcap layers.
Definition at line 653 of file MagGeoBuilderFromDDD.cc.
References mESectors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 667 of file MagGeoBuilderFromDDD.cc.
References eVolumes, i, and findQualityFiles::v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 678 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 683 of file MagGeoBuilderFromDDD.cc.
References geometryVersion.
Referenced by MagGeoBuilderFromDDD::bSector::bSector(), magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
void MagGeoBuilderFromDDD::setGridFiles | ( | const magneticfield::TableFileMap & | gridFiles | ) |
Definition at line 702 of file MagGeoBuilderFromDDD.cc.
References theGridFiles.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::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.
References Exception, i, and theScalingFactors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 83 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, plotBeamSpotDB::first, i, plotBeamSpotDB::last, and edm::second().
Referenced by build().
|
private |
Definition at line 622 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, and i.
Referenced by build().
|
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.
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 128 of file MagGeoBuilderFromDDD.h.
Referenced by maxZ().
|
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 127 of file MagGeoBuilderFromDDD.h.
Referenced by buildInterpolator().
|
private |
Definition at line 131 of file MagGeoBuilderFromDDD.h.
Referenced by build(), and setGridFiles().
|
private |
Definition at line 130 of file MagGeoBuilderFromDDD.h.
Referenced by buildMagVolumes(), and setScaling().