CMS 3D CMS Logo

DDPolyhedra Class Reference

#include <DetectorDescription/Core/interface/DDSolid.h>

Inheritance diagram for DDPolyhedra:

DDPolySolid DDSolid DDBase< DDName, DDI::Solid * >

List of all members.

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 ()


Detailed Description

Definition at line 259 of file DDSolid.h.


Constructor & Destructor Documentation

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]


Member Function Documentation

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 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:18:12 2009 for CMSSW by  doxygen 1.5.4