#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 std::auto_ptr< 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 |
std::auto_ptr < magneticfield::TableFileMap > | theGridFiles |
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 33 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 77 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 59 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 105 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 627 of file MagGeoBuilderFromDDD.cc.
References mBLayers.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 635 of file MagGeoBuilderFromDDD.cc.
References bVolumes, i, and findQualityFiles::v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::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, edm::hlt::Exception, f, ClusterizingHistogram::fill(), first, DDExpandedView::firstChild(), Geom::fpi(), Geom::ftwoPi(), DDExpandedView::geoHistory(), i, combine::key, prof2calltree::last, LayerTriplets::layers(), DDExpandedView::logicalPart(), MagGeoBuilderFromDDD::volumeHandle::magFile, MagGeoBuilderFromDDD::volumeHandle::masterSector, mBLayers, mESectors, DDName::name(), mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDExpandedView::nextSibling(), evf::evtn::offset(), PV3DBase< T, PVType, FrameType >::perp(), precomputed_value_sort(), dttmaxenums::R, dtDQMClient_cfg::resolution, 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().
|
private |
Definition at line 489 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, 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 441 of file MagGeoBuilderFromDDD.cc.
References combine::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 631 of file MagGeoBuilderFromDDD.cc.
References mESectors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 645 of file MagGeoBuilderFromDDD.cc.
References eVolumes, i, and findQualityFiles::v.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxR | ( | ) | const |
Definition at line 656 of file MagGeoBuilderFromDDD.cc.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
float MagGeoBuilderFromDDD::maxZ | ( | ) | const |
Definition at line 661 of file MagGeoBuilderFromDDD.cc.
References geometryVersion.
Referenced by MagGeoBuilderFromDDD::bSector::bSector(), and magneticfield::VolumeBasedMagneticFieldESProducer::produce().
void MagGeoBuilderFromDDD::setGridFiles | ( | const std::auto_ptr< magneticfield::TableFileMap > | gridFiles | ) |
Definition at line 680 of file MagGeoBuilderFromDDD.cc.
References theGridFiles.
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 668 of file MagGeoBuilderFromDDD.cc.
References edm::hlt::Exception, i, and theScalingFactors.
Referenced by magneticfield::VolumeBasedMagneticFieldESProducer::produce().
|
private |
Definition at line 83 of file MagGeoBuilderFromDDD.cc.
References gather_cfg::cout, first, i, prof2calltree::last, and edm::second().
Referenced by build().
|
private |
Definition at line 600 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 70 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 69 of file MagGeoBuilderFromDDD.h.
|
friend |
Definition at line 67 of file MagGeoBuilderFromDDD.h.
|
private |
Definition at line 118 of file MagGeoBuilderFromDDD.h.
Referenced by barrelVolumes(), build(), and ~MagGeoBuilderFromDDD().
|
staticprivate |
Definition at line 132 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 121 of file MagGeoBuilderFromDDD.h.
Referenced by build(), endcapVolumes(), and ~MagGeoBuilderFromDDD().
|
private |
Definition at line 127 of file MagGeoBuilderFromDDD.h.
Referenced by maxZ().
|
private |
Definition at line 123 of file MagGeoBuilderFromDDD.h.
Referenced by barrelLayers(), and build().
|
private |
Definition at line 124 of file MagGeoBuilderFromDDD.h.
Referenced by build(), and endcapSectors().
|
private |
Definition at line 126 of file MagGeoBuilderFromDDD.h.
Referenced by buildInterpolator().
|
private |
Definition at line 130 of file MagGeoBuilderFromDDD.h.
Referenced by build(), and setGridFiles().
|
private |
Definition at line 129 of file MagGeoBuilderFromDDD.h.
Referenced by buildMagVolumes(), and setScaling().