CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/DetectorDescription/Core/src/Solid.h

Go to the documentation of this file.
00001 #ifndef DDI_Solid_h
00002 #define DDI_Solid_h
00003 
00004 #include <iosfwd>
00005 #include <vector>
00006 // #include <utility>
00007 // #include "DetectorDescription/Core/interface/DDSolid.h"
00008 #include "DetectorDescription/Core/interface/DDSolidShapes.h"
00009 
00010 // class DDSolid;
00011 
00012 namespace DDI {
00013   
00014   class Solid
00015   {
00016   
00017     //   friend class DDSolid;
00018   public:
00019   
00020     Solid() : shape_(dd_not_init) { }
00021     
00022     Solid(DDSolidShape shape) : shape_(shape) { }
00023     
00024     virtual ~Solid() { }
00025     
00026     const std::vector<double> & parameters() const { return p_; }
00027     
00028     virtual double volume() const { return 0; }
00029     
00030     DDSolidShape shape() const { return shape_; }
00031     
00032     // bool boolean() const { IMPLEMENTATION MISSING }
00033     
00034     // DDSolid::Composites comp IMPLEMENTATION MISSING
00035     virtual void stream(std::ostream &) const;
00036     
00037     void setParameters(std::vector<double> const & p) { p_ = p;}
00038 
00039   protected:
00040     DDSolidShape shape_;
00041     std::vector<double> p_; 
00042   };
00043   
00044 }
00045 
00046 #endif // DDI_Solid_h