#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 mps_fire::i.
vector< MagBLayer * > MagGeoBuilderFromDDD::barrelLayers | ( | ) | const |
Get barrel layers.
Definition at line 647 of file MagGeoBuilderFromDDD.cc.
References mBLayers.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 655 of file MagGeoBuilderFromDDD.cc.
References bVolumes, mps_fire::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(), mps_fire::i, crabWrapper::key, plotBeamSpotDB::last, LayerTriplets::layers(), DDExpandedView::logicalPart(), MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, mBLayers, mESectors, DDName::name(), dataset::name, DDBase< N, C >::name(), DDExpandedView::nextSibling(), PFRecoTauDiscriminationByIsolation_cfi::offset, PV3DBase< T, PVType, FrameType >::perp(), precomputed_value_sort(), dttmaxenums::R, fftjetproducer_cfi::resolution, svgfig::rotate(), DDExpandedView::rotation(), AlCaHLTBitMon_QueryRunRegistry::string, summary(), testInside(), theGridFiles, DDExpandedView::translation(), findQualityFiles::v, MagGeoBuilderFromDDD::volumeHandle::volumeno, DOFs::Z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 509 of file MagGeoBuilderFromDDD.cc.
References MFGridFactory::build(), MagGeoBuilderFromDDD::volumeHandle::center(), MessageLogger_cfi::cerr, MagGeoBuilderFromDDD::volumeHandle::copyno, gather_cfg::cout, Dimensions::d, debug, edm::FileInPath::fullPath(), runTauDisplay::gp, listHistos::grid, Dimensions::h, mps_fire::i, gen::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::sides(), tableSet, MagGeoBuilderFromDDD::volumeHandle::toExpand(), tolerance, MagGeoBuilderFromDDD::volumeHandle::volumeno, Dimensions::w, MagException::what(), and cms::Exception::what().
Referenced by build().
|
private |
Definition at line 462 of file MagGeoBuilderFromDDD.cc.
References crabWrapper::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 651 of file MagGeoBuilderFromDDD.cc.
References mESectors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
|
private |
Definition at line 665 of file MagGeoBuilderFromDDD.cc.
References eVolumes, mps_fire::i, and findQualityFiles::v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 676 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce(), and magneticfield::VolumeBasedMagneticFieldESProducerFromDB::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 681 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 701 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 689 of file MagGeoBuilderFromDDD.cc.
References Exception, mps_fire::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, mps_fire::i, plotBeamSpotDB::last, and edm::second().
Referenced by build().
|
private |
Definition at line 620 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, and mps_fire::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().