00001
00002
00003
00004
00005
00006 #ifndef __SPHE_H
00007 #define __SPHE_H
00008
00009 #include "geometry/Volume.h"
00010
00018 class Sphe: public Volume
00019 {
00020
00021 public:
00023 Sphe( double ri, double ro,
00024 double th1=0, double th2=M_PI,
00025 double ph1=0, double ph2=2*M_PI );
00026
00027
00028 double innerRadius() const{return inner_radius;}
00029 double outerRadius() const{return outer_radius;}
00030 double theta1() const{return theta_1;}
00031 double theta2() const{return theta_2;}
00032 double phi1() const{return phi_1;}
00033 double phi2() const{return phi_2;}
00034
00035
00036 int fullAzimuth() const;
00037 int fullPolar() const;
00038
00039
00040 virtual const char *nameOf() const { return "Sphe"; }
00041 virtual void printOn( std::ostream& os = std::cout ) const;
00042 private:
00043 double inner_radius;
00044 double outer_radius;
00045
00046 double theta_1;
00047
00048
00049 double theta_2;
00050
00051
00052 double phi_1;
00053
00054
00055 double phi_2;
00056
00057
00058
00059
00060 int full_azimuth;
00061
00062 int full_polar;
00063
00064
00065
00066
00067 };
00068
00069 #endif
00070