CMS 3D CMS Logo

Public Member Functions | Private Member Functions

DDPolyhedra Class Reference

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

Detailed Description

Definition at line 236 of file DDSolid.h.


Constructor & Destructor Documentation

DDPolyhedra::DDPolyhedra ( const DDSolid s)

Definition at line 403 of file DDSolid.cc.

References ddpolyhedra_rrz, ddpolyhedra_rz, Exception, 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 cms::Exception("DDException") << ex;
  }
}
DDPolyhedra::DDPolyhedra ( void  ) [private]

Member Function Documentation

double DDPolyhedra::deltaPhi ( void  ) const
std::vector< double > DDPolyhedra::rMaxVec ( void  ) const
std::vector< double > DDPolyhedra::rMinVec ( void  ) const
std::vector< double > DDPolyhedra::rVec ( void  ) const

Definition at line 419 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
double DDPolyhedra::startPhi ( void  ) const
std::vector< double > DDPolyhedra::zVec ( void  ) const