#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) |
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) |
void | referencePlane (const DDExpandedView &fv) |
volumeHandle (const volumeHandle &v) | |
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 27 of file volumeHandle.h.
Definition at line 29 of file volumeHandle.h.
Definition at line 30 of file volumeHandle.h.
Definition at line 31 of file volumeHandle.h.
Definition at line 32 of file volumeHandle.h.
MagGeoBuilderFromDDD::volumeHandle::volumeHandle | ( | const DDExpandedView & | fv, |
bool | expand2Pi = false |
||
) |
Definition at line 41 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, i, isAssigned, isIronFlag, DDExpandedView::logicalPart(), magFile, masterSector, DDLogicalPart::material(), 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 37 of file volumeHandle.cc.
|
private |
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Definition at line 248 of file volumeHandle.cc.
References funct::cos(), gather_cfg::cout, MagGeoBuilderFromDDD::debug, SurfaceOrientation::phiminus, SurfaceOrientation::phiplus, funct::sin(), 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 173 of file volumeHandle.cc.
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 110 of file volumeHandle.h.
References isIronFlag.
|
inline |
if the specified surface has been matched.
Definition at line 48 of file volumeHandle.h.
References isAssigned.
|
inline |
Maximum value of phi covered by the volume.
Definition at line 81 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 87 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 77 of file volumeHandle.h.
References thePhiMin.
|
inline |
Minimum R for any point within the volume.
Definition at line 90 of file volumeHandle.h.
References theRMin.
|
inline |
Z limits.
Definition at line 86 of file volumeHandle.h.
References GloballyPositioned< T >::position(), surface(), PV3DBase< T, PVType, FrameType >::z(), and SurfaceOrientation::zminus.
|
private |
|
inline |
FIXME: currently returns max RN (to be fixed?). Used by: bLayer::maxR()
Position and rotation
Definition at line 96 of file volumeHandle.h.
References refPlane.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
|
static |
Just for debugging...
Definition at line 466 of file volumeHandle.cc.
References filterCSVwithJSON::copy, gather_cfg::cout, end, i, cscdqm::h::names, and python.multivaluedict::sort().
Referenced by MagGeoBuilderFromDDD::bLayer::bLayer(), MagGeoBuilderFromDDD::bRod::bRod(), MagGeoBuilderFromDDD::bSector::bSector(), and MagGeoBuilderFromDDD::eSector::eSector().
|
private |
Definition at line 177 of file volumeHandle.cc.
References gather_cfg::cout, ddpseudotrap, MagGeoBuilderFromDDD::debug, Vector3DBase< T, FrameTag >::dot(), DDExpandedView::rotation(), x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by volumeHandle().
|
inline |
Definition at line 52 of file volumeHandle.h.
|
inline |
Distance of (x,y) plane from origin.
Definition at line 39 of file volumeHandle.h.
References theRN.
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 320 of file volumeHandle.cc.
References gather_cfg::cout, MagGeoBuilderFromDDD::debug, Vector3DBase< T, FrameTag >::dot(), mag(), Plane::normalVector(), p1, p2, GloballyPositioned< T >::position(), indexGen::s2, GloballyPositioned< T >::toLocal(), and PV3DBase< T, PVType, FrameType >::z().
Assign a shared surface perorming sanity checks.
Definition at line 396 of file volumeHandle.cc.
References gather_cfg::cout, MagGeoBuilderFromDDD::debug, mergeVDriftHistosByStation::name, Plane::normalVector(), p1, p2, GloballyPositioned< T >::position(), and indexGen::s2.
|
inline |
Shape of the solid.
Definition at line 99 of file volumeHandle.h.
References DDSolid::shape(), and solid.
Referenced by MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().
std::vector< VolumeSide > MagGeoBuilderFromDDD::volumeHandle::sides | ( | void | ) | const |
The surfaces and they orientation, as required to build a MagVolume.
Definition at line 449 of file volumeHandle.cc.
References ddtubs, i, SurfaceOrientation::inner, SurfaceOrientation::phiminus, SurfaceOrientation::phiplus, query::result, and alignCSCRings::s.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
const Surface & MagGeoBuilderFromDDD::volumeHandle::surface | ( | int | which_side | ) | const |
Get the current surface on specified side.
Definition at line 442 of file volumeHandle.cc.
Referenced by maxPhi(), maxZ(), and minZ().
Definition at line 435 of file volumeHandle.cc.
|
inline |
Definition at line 107 of file volumeHandle.h.
References expand.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
|
private |
Definition at line 163 of file volumeHandle.h.
Referenced by volumeHandle().
unsigned short MagGeoBuilderFromDDD::volumeHandle::copyno |
copy number
Definition at line 64 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().
|
private |
Definition at line 167 of file volumeHandle.h.
Referenced by toExpand().
|
private |
Definition at line 124 of file volumeHandle.h.
Referenced by isPlaneMatched(), and volumeHandle().
|
private |
Definition at line 170 of file volumeHandle.h.
Referenced by isIron(), and volumeHandle().
std::string MagGeoBuilderFromDDD::volumeHandle::magFile |
Name of magnetic field table file.
Definition at line 60 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 105 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 113 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().
std::string MagGeoBuilderFromDDD::volumeHandle::name |
Name of the volume.
Definition at line 58 of file volumeHandle.h.
Referenced by dirstructure.Directory::__create_pie_image(), dqm_interfaces.DirID::__eq__(), dirstructure.Directory::__get_full_path(), dirstructure.Comparison::__get_img_name(), dataset.Dataset::__getFileInfoList(), cuy.divideElement::__init__(), cuy.plotElement::__init__(), cuy.additionElement::__init__(), cuy.superimposeElement::__init__(), cuy.graphElement::__init__(), dirstructure.Comparison::__make_image(), dirstructure.Directory::__repr__(), dqm_interfaces.DirID::__repr__(), dirstructure.Comparison::__repr__(), BeautifulSoup.Tag::_invert(), dirstructure.Directory::calcStats(), python.rootplot.utilities.Hist::divide(), python.rootplot.utilities.Hist::divide_wilson(), utils.StatisticalTest::get_status(), dirstructure.Directory::print_report(), python.rootplot.utilities.Hist::TGraph(), python.rootplot.utilities.Hist::TH1F(), Vispa.Views.PropertyView.Property::valueChanged(), and volumeHandle().
|
private |
Definition at line 157 of file volumeHandle.h.
Referenced by placement().
|
private |
Definition at line 160 of file volumeHandle.h.
Referenced by shape(), and volumeHandle().
|
private |
Definition at line 122 of file volumeHandle.h.
Referenced by volumeHandle().
|
private |
Definition at line 152 of file volumeHandle.h.
Referenced by minPhi().
|
private |
Definition at line 151 of file volumeHandle.h.
Referenced by volumeHandle().
|
private |
Definition at line 150 of file volumeHandle.h.
Referenced by minR(), and volumeHandle().
|
private |
Definition at line 146 of file volumeHandle.h.
Referenced by RN(), and volumeHandle().
unsigned short MagGeoBuilderFromDDD::volumeHandle::volumeno |
volume number
Definition at line 62 of file volumeHandle.h.
Referenced by MagGeoBuilderFromDDD::build(), MagGeoBuilderFromDDD::buildInterpolator(), and volumeHandle().