#include <volumeHandle.h>
Public Member Functions | |
volumeHandle | operator= (const volumeHandle &v)=delete |
DDSolidShape | shape () const override |
Shape of the solid. More... | |
std::vector< VolumeSide > | sides () const override |
The surfaces and they orientation, as required to build a MagVolume. More... | |
volumeHandle (const DDExpandedView &fv, bool expand2Pi=false, bool debugVal=false) | |
volumeHandle (const volumeHandle &v)=delete | |
Public Member Functions inherited from magneticfield::BaseVolumeHandle | |
BaseVolumeHandle (bool expand2Pi=false, bool debugVal=false) | |
BaseVolumeHandle (const BaseVolumeHandle &v)=delete | |
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 |
Position and rotation. 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... | |
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 |
virtual | ~BaseVolumeHandle () |
Private Member Functions | |
void | buildBox (double halfX, double halfY, double halfZ) |
void | buildCons (double zhalf, double rInMinusZ, double rOutMinusZ, double rInPlusZ, double rOutPlusZ, double startPhi, double deltaPhi) |
void | buildPseudoTrap (double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ) |
void | buildTrap (double x1, double x2, double x3, double x4, double y1, double y2, double theta, double phi, double halfZ, double alpha1, double alpha2) |
void | buildTruncTubs (double zhalf, double rIn, double rOut, double startPhi, double deltaPhi, double cutAtStart, double cutAtDelta, bool cutInside) |
void | buildTubs (double zhalf, double rIn, double rOut, double startPhi, double deltaPhi) |
void | referencePlane (const DDExpandedView &fv) |
Private Attributes | |
DDSolid | solid |
Additional Inherited Members | |
Public Types inherited from magneticfield::BaseVolumeHandle | |
typedef Surface::GlobalPoint | GlobalPoint |
typedef Surface::LocalPoint | LocalPoint |
typedef Surface::LocalVector | LocalVector |
typedef SurfaceOrientation::GlobalFace | Sides |
Public Attributes inherited from magneticfield::BaseVolumeHandle | |
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... | |
Protected Types inherited from magneticfield::BaseVolumeHandle | |
typedef ConstReferenceCountingPointer < Surface > | RCPS |
Protected Member Functions inherited from magneticfield::BaseVolumeHandle | |
void | buildPhiZSurf (double startPhi, double deltaPhi, double zhalf, double rCentr) |
Protected Attributes inherited from magneticfield::BaseVolumeHandle | |
GlobalPoint | center_ |
const bool | debug |
bool | expand |
bool | isAssigned [6] |
bool | isIronFlag |
GloballyPositioned< float > * | refPlane |
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 23 of file volumeHandle.h.
MagGeoBuilderFromDDD::volumeHandle::volumeHandle | ( | const DDExpandedView & | fv, |
bool | expand2Pi = false , |
||
bool | debugVal = false |
||
) |
Definition at line 40 of file volumeHandle.cc.
References DDTrap::alpha1(), DDTrap::alpha2(), DDPseudoTrap::atMinusZ(), buildBox(), buildCons(), buildPseudoTrap(), buildTrap(), buildTruncTubs(), buildTubs(), magneticfield::BaseVolumeHandle::center(), magneticfield::BaseVolumeHandle::center_, magneticfield::BaseVolumeHandle::copyno, DDExpandedView::copyno(), gather_cfg::cout, DDTruncTubs::cutAtDelta(), DDTruncTubs::cutAtStart(), DDTruncTubs::cutInside(), ddbox, ddcons, ddpseudotrap, ddtrap, ddtrunctubs, ddtubs, magneticfield::BaseVolumeHandle::debug, srCondWrite_cfg::deltaPhi, DDTruncTubs::deltaPhi(), DDTubs::deltaPhi(), DDCons::deltaPhi(), DDBox::halfX(), DDBox::halfY(), DDTrap::halfZ(), DDPseudoTrap::halfZ(), DDBox::halfZ(), mps_fire::i, magneticfield::BaseVolumeHandle::isAssigned, magneticfield::BaseVolumeHandle::isIronFlag, DDExpandedView::logicalPart(), magneticfield::BaseVolumeHandle::magFile, magneticfield::BaseVolumeHandle::masterSector, DDLogicalPart::material(), DDSolidShapesName::name(), DDName::name(), DDBase< N, C >::name(), magneticfield::BaseVolumeHandle::name, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), DDTrap::phi(), DDCons::phiFrom(), DDPseudoTrap::radius(), CosmicsPD_Skims::radius, referencePlane(), DDTruncTubs::rIn(), DDTubs::rIn(), DDCons::rInMinusZ(), DDCons::rInPlusZ(), DDTruncTubs::rOut(), DDTubs::rOut(), DDCons::rOutMinusZ(), DDCons::rOutPlusZ(), shape(), DDSolid::shape(), solid, DDLogicalPart::solid(), DDTruncTubs::startPhi(), DDTubs::startPhi(), AlCaHLTBitMon_QueryRunRegistry::string, magneticfield::BaseVolumeHandle::surfaces, magneticfield::BaseVolumeHandle::theRMax, magneticfield::BaseVolumeHandle::theRMin, magneticfield::BaseVolumeHandle::theRN, DDTrap::theta(), theta(), DDExpandedView::translation(), magneticfield::BaseVolumeHandle::volumeno, DDTrap::x1(), DDPseudoTrap::x1(), DDTrap::x2(), DDPseudoTrap::x2(), DDTrap::x3(), DDTrap::x4(), DDTrap::y1(), DDPseudoTrap::y1(), DDTrap::y2(), DDPseudoTrap::y2(), DDTruncTubs::zHalf(), DDTubs::zhalf(), and DDCons::zhalf().
|
delete |
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
private |
Referenced by volumeHandle().
|
delete |
|
private |
Definition at line 201 of file volumeHandle.cc.
References gather_cfg::cout, ddpseudotrap, MagGeoBuilderFromDDD::debug, Vector3DBase< T, FrameTag >::dot(), DDExpandedView::rotation(), x, y, and z.
Referenced by volumeHandle().
|
inlineoverridevirtual |
Shape of the solid.
Implements magneticfield::BaseVolumeHandle.
Definition at line 32 of file volumeHandle.h.
References DDSolid::shape(), and solid.
Referenced by volumeHandle().
|
overridevirtual |
The surfaces and they orientation, as required to build a MagVolume.
Implements magneticfield::BaseVolumeHandle.
Definition at line 274 of file volumeHandle.cc.
References ddtubs, mps_fire::i, SurfaceOrientation::inner, SurfaceOrientation::phiminus, SurfaceOrientation::phiplus, mps_fire::result, and alignCSCRings::s.
Referenced by MagGeoBuilderFromDDD::buildInterpolator().
|
private |
Definition at line 78 of file volumeHandle.h.
Referenced by shape(), and volumeHandle().