#include <volumeHandle.h>
Public Types | |
typedef Surface::GlobalPoint | GlobalPoint |
typedef Surface::LocalPoint | LocalPoint |
typedef Surface::LocalVector | LocalVector |
typedef SurfaceOrientation::GlobalFace | Sides |
Public Member Functions | |
const GlobalPoint & | center () const |
Return the center of the volume. More... | |
bool | isIron () const |
Temporary hack to pass information on material. Will eventually be replaced! More... | |
bool | isPlaneMatched (int which_side) const |
if the specified surface has been matched. More... | |
Geom::Phi< float > | maxPhi () const |
Maximum value of phi covered by the volume. More... | |
double | maxZ () const |
Geom::Phi< float > | minPhi () const |
Minimum value of phi covered by the volume. More... | |
double | minR () const |
Minimum R for any point within the volume. More... | |
double | minZ () const |
Z limits. More... | |
const GloballyPositioned< float > * | placement () const |
FIXME: currently returns max RN (to be fixed?). Used by: bLayer::maxR() More... | |
int | references (int which_side) const |
const double | RN () const |
Distance of (x,y) plane from origin. More... | |
bool | sameSurface (const Surface &s1, Sides which_side, float tolerance=0.01) |
Find out if two surfaces are the same physical surface. More... | |
bool | setSurface (const Surface &s1, Sides which_side) |
Assign a shared surface perorming sanity checks. More... | |
DDSolidShape | shape () const |
Shape of the solid. More... | |
std::vector< VolumeSide > | sides () const |
The surfaces and they orientation, as required to build a MagVolume. More... | |
const Surface & | surface (int which_side) const |
Get the current surface on specified side. More... | |
const Surface & | surface (Sides which_side) const |
bool | toExpand () const |
volumeHandle (const DDExpandedView &fv, bool expand2Pi=false) | |
~volumeHandle () | |
Static Public Member Functions | |
static void | printUniqueNames (handles::const_iterator begin, handles::const_iterator end, bool uniq=true) |
Just for debugging... More... | |
Public Attributes | |
unsigned short | copyno |
copy number More... | |
std::string | magFile |
Name of magnetic field table file. More... | |
MagVolume6Faces * | magVolume |
Pointer to the final MagVolume (must be set from outside) More... | |
int | masterSector |
The sector for which an interpolator for this class of volumes should be built. More... | |
std::string | name |
Name of the volume. More... | |
unsigned short | volumeno |
volume number More... | |
Private Member Functions | |
void | buildBox (const DDExpandedView &fv) |
void | buildCons (const DDExpandedView &fv) |
void | buildPhiZSurf (double startPhi, double deltaPhi, double zhalf, double rCentr) |
void | buildPseudoTrap (const DDExpandedView &fv) |
void | buildTrap (const DDExpandedView &fv) |
void | buildTruncTubs (const DDExpandedView &fv) |
void | buildTubs (const DDExpandedView &fv) |
volumeHandle | operator= (const volumeHandle &v)=delete |
void | referencePlane (const DDExpandedView &fv) |
volumeHandle (const volumeHandle &v)=delete | |
Private Attributes | |
GlobalPoint | center_ |
bool | expand |
bool | isAssigned [6] |
bool | isIronFlag |
GloballyPositioned< float > * | refPlane |
DDSolid | solid |
RCPS | surfaces [6] |
Geom::Phi< float > | thePhiMin |
double | theRMax |
double | theRMin |
double | theRN |
A temporary container to cache info on a six-surface volume during the processing. Used to sort, organise, and build shared planes. One instance is created for each DDVolume. The parameters of the boundary surfaces are calculated during construction.
Definition at line 25 of file volumeHandle.h.
typedef Surface::GlobalPoint MagGeoBuilderFromDDD::volumeHandle::GlobalPoint |
Definition at line 27 of file volumeHandle.h.
Definition at line 28 of file volumeHandle.h.
Definition at line 29 of file volumeHandle.h.
Definition at line 30 of file volumeHandle.h.
MagGeoBuilderFromDDD::volumeHandle::volumeHandle | ( | const DDExpandedView & | fv, |
bool | expand2Pi = false |
||
) |
Definition at line 39 of file volumeHandle.cc.
References buildBox(), buildCons(), buildPseudoTrap(), buildTrap(), buildTruncTubs(), buildTubs(), center(), center_, copyno, gather_cfg::cout, ddbox, ddcons, ddpseudotrap, ddtrap, ddtrunctubs, ddtubs, MagGeoBuilderFromDDD::debug, mps_fire::i, isAssigned, isIronFlag, DDExpandedView::logicalPart(), magFile, masterSector, DDLogicalPart::material(), DDSolidShapesName::name(), DDName::name(), name, DDBase< N, C >::name(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), referencePlane(), DDSolid::shape(), shape(), solid, AlCaHLTBitMon_QueryRunRegistry::string, surfaces, theRMax, theRMin, theRN, and volumeno.
MagGeoBuilderFromDDD::volumeHandle::~volumeHandle | ( | ) |
Definition at line 35 of file volumeHandle.cc.
|
privatedelete |
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Definition at line 246 of file volumeHandle.cc.
References center_, funct::cos(), gather_cfg::cout, MagGeoBuilderFromDDD::debug, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), SurfaceOrientation::phiminus, SurfaceOrientation::phiplus, refPlane, funct::sin(), surfaces, theRN, GloballyPositioned< T >::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), SurfaceOrientation::zminus, and SurfaceOrientation::zplus.
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
const Surface::GlobalPoint & MagGeoBuilderFromDDD::volumeHandle::center | ( | ) | const |
Return the center of the volume.
Definition at line 171 of file volumeHandle.cc.
References center_.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), MagGeoBuilderFromDDD::ExtractZ::operator()(), MagGeoBuilderFromDDD::ExtractAbsZ::operator()(), MagGeoBuilderFromDDD::ExtractPhi::operator()(), MagGeoBuilderFromDDD::ExtractR::operator()(), MagGeoBuilderFromDDD::LessZ::operator()(), and volumeHandle().
|
inline |
Temporary hack to pass information on material. Will eventually be replaced!
Definition at line 108 of file volumeHandle.h.
References isIronFlag.
|
inline |
if the specified surface has been matched.
Definition at line 46 of file volumeHandle.h.
References isAssigned.
|
inline |
Maximum value of phi covered by the volume.
Definition at line 79 of file volumeHandle.h.
References PV3DBase< T, PVType, FrameType >::phi(), SurfaceOrientation::phiplus, GloballyPositioned< T >::position(), and surface().
Referenced by MagGeoBuilderFromDDD::ExtractPhiMax::operator()().
|
inline |
Definition at line 85 of file volumeHandle.h.
References GloballyPositioned< T >::position(), surface(), PV3DBase< T, PVType, FrameType >::z(), and SurfaceOrientation::zplus.
|
inline |
Minimum value of phi covered by the volume.
Definition at line 75 of file volumeHandle.h.
References thePhiMin.
|
inline |
Minimum R for any point within the volume.
Definition at line 88 of file volumeHandle.h.
References theRMin.
|
inline |
Z limits.
Definition at line 84 of file volumeHandle.h.
References GloballyPositioned< T >::position(), surface(), PV3DBase< T, PVType, FrameType >::z(), and SurfaceOrientation::zminus.
|
privatedelete |
|
inline |
FIXME: currently returns max RN (to be fixed?). Used by: bLayer::maxR()
Position and rotation
Definition at line 94 of file volumeHandle.h.
References refPlane.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
|
static |
Just for debugging...
Definition at line 464 of file volumeHandle.cc.
References popcon2dropbox::copy(), gather_cfg::cout, end, mps_fire::i, createfilelist::int, names, and tier0::unique().
Referenced by MagGeoBuilderFromDDD::bLayer::bLayer(), MagGeoBuilderFromDDD::bRod::bRod(), MagGeoBuilderFromDDD::bSector::bSector(), and MagGeoBuilderFromDDD::eSector::eSector().
|
private |
Definition at line 175 of file volumeHandle.cc.
References center_, gather_cfg::cout, ddpseudotrap, MagGeoBuilderFromDDD::debug, GloballyPositioned< T >::position(), refPlane, DDExpandedView::rotation(), DDSolid::shape(), solid, GloballyPositioned< T >::toGlobal(), x, y, z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by volumeHandle().
|
inline |
Definition at line 50 of file volumeHandle.h.
|
inline |
Distance of (x,y) plane from origin.
Definition at line 37 of file volumeHandle.h.
References sameSurface(), setSurface(), surface(), theRN, and tolerance.
Referenced by MagGeoBuilderFromDDD::ExtractRN::operator()().
bool MagGeoBuilderFromDDD::volumeHandle::sameSurface | ( | const Surface & | s1, |
Sides | which_side, | ||
float | tolerance = 0.01 |
||
) |
Find out if two surfaces are the same physical surface.
Definition at line 318 of file volumeHandle.cc.
References gather_cfg::cout, MagGeoBuilderFromDDD::debug, Vector3DBase< T, FrameTag >::dot(), mag(), Plane::normalVector(), Cone::openingAngle(), p1, p2, GloballyPositioned< T >::position(), Cylinder::radius(), indexGen::s2, surfaces, tolerance, GloballyPositioned< T >::toLocal(), Cone::vertex(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by RN(), and setSurface().
Assign a shared surface perorming sanity checks.
Definition at line 394 of file volumeHandle.cc.
References copyno, gather_cfg::cout, MagGeoBuilderFromDDD::debug, createfilelist::int, isAssigned, name, Plane::normalVector(), p1, p2, GloballyPositioned< T >::position(), indexGen::s2, sameSurface(), and surfaces.
Referenced by RN().
|
inline |
Shape of the solid.
Definition at line 97 of file volumeHandle.h.
References DDSolid::shape(), sides(), and solid.
Referenced by volumeHandle().
std::vector< VolumeSide > MagGeoBuilderFromDDD::volumeHandle::sides | ( | void | ) | const |
The surfaces and they orientation, as required to build a MagVolume.
Definition at line 447 of file volumeHandle.cc.
References center_, ddtubs, expand, mps_fire::i, SurfaceOrientation::inner, SurfaceOrientation::phiminus, SurfaceOrientation::phiplus, mps_fire::result, alignCSCRings::s, DDSolid::shape(), solid, surfaces, and theRMin.
Referenced by MagGeoBuilderFromDDD::buildInterpolator(), and shape().
const Surface & MagGeoBuilderFromDDD::volumeHandle::surface | ( | int | which_side | ) | const |
|
inline |
Definition at line 105 of file volumeHandle.h.
References expand.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
|
private |
Definition at line 161 of file volumeHandle.h.
Referenced by buildPhiZSurf(), center(), referencePlane(), sides(), and volumeHandle().
unsigned short MagGeoBuilderFromDDD::volumeHandle::copyno |
copy number
Definition at line 62 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), setSurface(), and volumeHandle().
|
private |
Definition at line 165 of file volumeHandle.h.
Referenced by sides(), and toExpand().
|
private |
Definition at line 122 of file volumeHandle.h.
Referenced by isPlaneMatched(), setSurface(), and volumeHandle().
|
private |
Definition at line 168 of file volumeHandle.h.
Referenced by isIron(), and volumeHandle().
std::string MagGeoBuilderFromDDD::volumeHandle::magFile |
Name of magnetic field table file.
Definition at line 58 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().
MagVolume6Faces* MagGeoBuilderFromDDD::volumeHandle::magVolume |
Pointer to the final MagVolume (must be set from outside)
Definition at line 103 of file volumeHandle.h.
int MagGeoBuilderFromDDD::volumeHandle::masterSector |
The sector for which an interpolator for this class of volumes should be built.
Definition at line 111 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().
std::string MagGeoBuilderFromDDD::volumeHandle::name |
Name of the volume.
Definition at line 56 of file volumeHandle.h.
Referenced by ElectronMVAID.ElectronMVAID::__call__(), FWLite.ElectronMVAID::__call__(), dirstructure.Directory::__create_pie_image(), DisplayManager.DisplayManager::__del__(), dqm_interfaces.DirID::__eq__(), dirstructure.Directory::__get_full_path(), dirstructure.Comparison::__get_img_name(), dataset.Dataset::__getDataType(), dataset.Dataset::__getFileInfoList(), dirstructure.Comparison::__make_image(), core.autovars.NTupleVariable::__repr__(), core.autovars.NTupleObjectType::__repr__(), core.autovars.NTupleObject::__repr__(), core.autovars.NTupleCollection::__repr__(), dirstructure.Directory::__repr__(), dqm_interfaces.DirID::__repr__(), dirstructure.Comparison::__repr__(), config.Service::__setattr__(), config.CFG::__str__(), counter.Counter::__str__(), average.Average::__str__(), FWLite.WorkingPoints::_reformat_cut_definitions(), core.autovars.NTupleObjectType::addSubObjects(), core.autovars.NTupleObjectType::addVariables(), core.autovars.NTupleObjectType::allVars(), dirstructure.Directory::calcStats(), validation.Sample::digest(), python.rootplot.utilities.Hist::divide(), python.rootplot.utilities.Hist::divide_wilson(), DisplayManager.DisplayManager::Draw(), core.autovars.NTupleVariable::fillBranch(), core.autovars.NTupleObject::fillBranches(), core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::get_cpp_wrapper_class(), core.autovars.NTupleCollection::get_py_wrapper_class(), utils.StatisticalTest::get_status(), production_tasks.Task::getname(), dataset.CMSDataset::getPrimaryDatasetEntries(), dataset.PrivateDataset::getPrimaryDatasetEntries(), VIDSelectorBase.VIDSelectorBase::initialize(), core.autovars.NTupleVariable::makeBranch(), core.autovars.NTupleObject::makeBranches(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), dirstructure.Directory::print_report(), dataset.BaseDataset::printInfo(), dataset.Dataset::printInfo(), production_tasks.MonitorJobs::run(), setSurface(), python.rootplot.utilities.Hist::TGraph(), python.rootplot.utilities.Hist::TH1F(), Vispa.Views.PropertyView.Property::valueChanged(), volumeHandle(), counter.Counter::write(), and average.Average::write().
|
private |
Definition at line 155 of file volumeHandle.h.
Referenced by buildPhiZSurf(), placement(), and referencePlane().
|
private |
Definition at line 158 of file volumeHandle.h.
Referenced by referencePlane(), shape(), sides(), and volumeHandle().
|
private |
Definition at line 120 of file volumeHandle.h.
Referenced by buildPhiZSurf(), sameSurface(), setSurface(), sides(), surface(), and volumeHandle().
|
private |
Definition at line 150 of file volumeHandle.h.
Referenced by minPhi().
|
private |
Definition at line 149 of file volumeHandle.h.
Referenced by volumeHandle().
|
private |
Definition at line 148 of file volumeHandle.h.
Referenced by minR(), sides(), and volumeHandle().
|
private |
Definition at line 144 of file volumeHandle.h.
Referenced by buildPhiZSurf(), RN(), and volumeHandle().
unsigned short MagGeoBuilderFromDDD::volumeHandle::volumeno |
volume number
Definition at line 60 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().