#include <DDSolid.h>
Public Member Functions | |
DDPolyhedra (const DDSolid &s) | |
double | deltaPhi (void) const |
std::vector< double > | rMaxVec (void) const |
std::vector< double > | rMinVec (void) const |
std::vector< double > | rVec (void) const |
int | sides (void) const |
double | startPhi (void) const |
std::vector< double > | zVec (void) const |
Private Member Functions | |
DDPolyhedra (void) |
DDPolyhedra::DDPolyhedra | ( | const DDSolid & | s | ) |
Definition at line 406 of file DDSolid.cc.
References ddpolyhedra_rrz, ddpolyhedra_rz, DDName::name(), DDBase< N, C >::name(), DDName::ns(), and DDSolid::shape().
: DDPolySolid(s) { if (s.shape() != ddpolyhedra_rz && s.shape() != ddpolyhedra_rrz) { std::string ex = "Solid [" + s.name().ns() + ":" + s.name().name() + "] is not a DDPolyhedra.\n"; ex = ex + "Use a different solid interface!"; throw DDException(ex); } }
DDPolyhedra::DDPolyhedra | ( | void | ) | [private] |
double DDPolyhedra::deltaPhi | ( | void | ) | const |
Definition at line 420 of file DDSolid.cc.
References DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginRun(), DDDividedPolyhedraPhi::DDDividedPolyhedraPhi(), DDDividedPolyhedraPhi::getMaxParameter(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDCoreToDDXMLOutput::solid().
{ return rep().parameters()[2]; }
std::vector< double > DDPolyhedra::rMaxVec | ( | void | ) | const |
Definition at line 443 of file DDSolid.cc.
References ddpolyhedra_rrz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraRho::getMaxParameter(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDCoreToDDXMLOutput::solid().
{ std::vector<double> tvec; if (shape() == ddpolyhedra_rrz) tvec = getVec(2, 3, 3); return tvec; }
std::vector< double > DDPolyhedra::rMinVec | ( | void | ) | const |
Definition at line 436 of file DDSolid.cc.
References ddpolyhedra_rrz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraRho::getMaxParameter(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDCoreToDDXMLOutput::solid().
{ std::vector<double> tvec; if (shape() == ddpolyhedra_rrz) tvec = getVec(1, 3, 3); return tvec; }
std::vector< double > DDPolyhedra::rVec | ( | void | ) | const |
Definition at line 422 of file DDSolid.cc.
References ddpolyhedra_rz, DDPolySolid::getVec(), and DDSolid::shape().
Referenced by DDCoreToDDXMLOutput::solid().
{ std::vector<double> tvec; if (shape() == ddpolyhedra_rz) tvec = getVec(1, 3, 2); return tvec; }
int DDPolyhedra::sides | ( | void | ) | const |
Definition at line 416 of file DDSolid.cc.
References DDSolid::parameters(), and DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginRun(), DDDividedPolyhedraPhi::checkParametersValidity(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDCoreToDDXMLOutput::solid().
{ return int(rep().parameters()[0]); }
double DDPolyhedra::startPhi | ( | void | ) | const |
Definition at line 418 of file DDSolid.cc.
References DDBase< DDName, DDI::Solid * >::rep().
Referenced by SolidsForOnline::beginRun(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), and DDCoreToDDXMLOutput::solid().
{ return rep().parameters()[1]; }
std::vector< double > DDPolyhedra::zVec | ( | void | ) | const |
Definition at line 429 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(), DDDividedPolyhedraZ::makeDDTranslation(), and DDCoreToDDXMLOutput::solid().
{ if (shape() == ddpolyhedra_rz) return getVec(0, 3, 2); else // (shape() == ddpolycone_rrz) return getVec(0, 3, 3); }