CMS 3D CMS Logo

Classes | Namespaces | Functions

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/DetectorDescription/Core/interface/DDSolid.h File Reference

#include <stdexcept>
#include <iosfwd>
#include <vector>
#include <utility>
#include "DetectorDescription/Core/interface/DDName.h"
#include "DetectorDescription/Core/interface/DDBase.h"
#include "DetectorDescription/Core/interface/DDSolidShapes.h"
#include "DetectorDescription/Core/interface/DDTransform.h"
#include "DetectorDescription/Base/interface/DDTranslation.h"

Go to the source code of this file.

Classes

struct  Composites
class  DDBooleanSolid
class  DDBox
class  DDCons
class  DDEllipsoid
class  DDEllipticalTube
class  DDIntersection
class  DDOrb
class  DDParallelepiped
class  DDPolycone
class  DDPolyhedra
class  DDPolySolid
 Abstract class for DDPolycone and DDPolyhedra. Basically a common member function. More...
class  DDPseudoTrap
class  DDReflectionSolid
class  DDShapelessSolid
 This is simply a handle on the solid. More...
class  DDSolid
 A DDSolid represents the shape of a part. More...
struct  DDSolidFactory
 Creates a box with side length 2*xHalf, 2*yHalf, 2*zHalf. More...
class  DDSphere
class  DDSubtraction
class  DDTorus
class  DDTrap
 Interface to a Trapezoid. More...
class  DDTruncTubs
 A truncated tube section. More...
class  DDTubs
class  DDUnion

Namespaces

namespace  DDI
 

A DDDivision contains the parameterization that Geant4 needs in order to do its divisions.


Functions

std::ostream & operator<< (std::ostream &, const DDSolid &)

Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const DDSolid  
)

Definition at line 36 of file DDSolid.cc.

References DDBase< N, C >::isDefined(), DDSolidShapesName::name(), DDBase< N, C >::rep(), and DDSolid::shape().

{ 
  DDBase<DDName,DDI::Solid*>::def_type defined(solid.isDefined());
  if (defined.first) {
    os << *(defined.first) << " ";
    if (defined.second) {
      os << "  " << DDSolidShapesName::name(solid.shape()) << ": ";
      solid.rep().stream(os); 
    }
    else {
      os << "* solid not defined * ";  
    }
  }  
  else {
    os << "* solid not declared * ";  
  }  
  return os;
}