CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DetectorDescription/Core/src/Ellipsoid.h

Go to the documentation of this file.
00001 #ifndef DDI_Ellipsoid_h
00002 #define DDI_Ellipsoid_h
00003 
00004 #include <iosfwd>
00005 #include "Solid.h"
00006 #include <DataFormats/GeometryVector/interface/Pi.h>
00007 
00008 namespace DDI {
00009 
00010   class Ellipsoid : public Solid
00011   {
00012   public:
00013     Ellipsoid(double  xSemiAxis,
00014               double  ySemiAxis,
00015               double  zSemiAxis,
00016               double  zBottomCut=0,
00017               double  zTopCut=0
00018               )
00019       : Solid(ddellipsoid)
00020       { 
00021         p_.push_back(xSemiAxis);
00022         p_.push_back(ySemiAxis);
00023         p_.push_back(zSemiAxis);
00024         p_.push_back(zBottomCut);
00025         p_.push_back(zTopCut);
00026       }  
00027       ~Ellipsoid() { }
00028       
00030       double volume() const ;
00031       double halfVol (double dz, double maxz) const;
00032       void stream(std::ostream & os) const;
00033   };
00034   
00035 }
00036 #endif // DDI_Ellipsoid_h