![]() |
![]() |
#include <DetectorDescription/Core/interface/DDSolid.h>
Public Member Functions | |
DDPolyhedra (const DDSolid &s) | |
double | deltaPhi () const |
std::vector< double > | rMaxVec () const |
std::vector< double > | rMinVec () const |
std::vector< double > | rVec () const |
int | sides () const |
double | startPhi () const |
std::vector< double > | zVec () const |
Private Member Functions | |
DDPolyhedra () |
Definition at line 259 of file DDSolid.h.
DDPolyhedra::DDPolyhedra | ( | const DDSolid & | s | ) |
Definition at line 386 of file DDSolid.cc.
References ddpolyhedra_rrz, ddpolyhedra_rz, DDName::name(), DDBase< N, C >::name(), DDName::ns(), and DDSolid::shape().
00387 : DDPolySolid(s) 00388 { 00389 if (s.shape() != ddpolyhedra_rz && s.shape() != ddpolyhedra_rrz) { 00390 std::string ex = "Solid [" + s.name().ns() + ":" + s.name().name() + "] is not a DDPolyhedra.\n"; 00391 ex = ex + "Use a different solid interface!"; 00392 throw DDException(ex); 00393 } 00394 }
DDPolyhedra::DDPolyhedra | ( | ) | [private] |
double DDPolyhedra::deltaPhi | ( | ) | const |
Definition at line 400 of file DDSolid.cc.
References DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginJob(), DDDividedPolyhedraPhi::DDDividedPolyhedraPhi(), DDDividedPolyhedraPhi::getMaxParameter(), DDDividedPolyhedraRho::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDLogicalPart().
00400 { return rep().parameters()[2]; }
std::vector< double > DDPolyhedra::rMaxVec | ( | ) | const |
Definition at line 423 of file DDSolid.cc.
References ddpolyhedra_rrz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraRho::getMaxParameter(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDLogicalPart().
00423 { 00424 std::vector<double> tvec; 00425 if (shape() == ddpolyhedra_rrz) 00426 tvec = getVec(2, 3, 3); 00427 return tvec; 00428 }
std::vector< double > DDPolyhedra::rMinVec | ( | ) | const |
Definition at line 416 of file DDSolid.cc.
References ddpolyhedra_rrz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraRho::getMaxParameter(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDLogicalPart().
00416 { 00417 std::vector<double> tvec; 00418 if (shape() == ddpolyhedra_rrz) 00419 tvec = getVec(1, 3, 3); 00420 return tvec; 00421 }
std::vector< double > DDPolyhedra::rVec | ( | ) | const |
Definition at line 402 of file DDSolid.cc.
References ddpolyhedra_rz, DDPolySolid::getVec(), and DDSolid::shape().
00402 { 00403 std::vector<double> tvec; 00404 if (shape() == ddpolyhedra_rz) 00405 tvec = getVec(1, 3, 2); 00406 return tvec; 00407 }
int DDPolyhedra::sides | ( | ) | const |
Definition at line 396 of file DDSolid.cc.
References int, DDSolid::parameters(), and DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginJob(), DDDividedPolyhedraPhi::checkParametersValidity(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDLogicalPart().
00396 { return int(rep().parameters()[0]); }
double DDPolyhedra::startPhi | ( | ) | const |
Definition at line 398 of file DDSolid.cc.
References DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginJob(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDLogicalPart().
00398 { return rep().parameters()[1]; }
std::vector< double > DDPolyhedra::zVec | ( | ) | const |
Definition at line 409 of file DDSolid.cc.
References ddpolyhedra_rz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDDividedPolyhedraZ::checkParametersValidity(), DDDividedPolyhedraZ::DDDividedPolyhedraZ(), DDDividedPolyhedraZ::getMaxParameter(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDDividedPolyhedraZ::makeDDTranslation().
00409 { 00410 if (shape() == ddpolyhedra_rz) 00411 return getVec(0, 3, 2); 00412 else // (shape() == ddpolycone_rrz) 00413 return getVec(0, 3, 3); 00414 }