Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Sphe.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/geometry/geometry/Sphe.h,v 1.2 2000/01/18 00:42:09 burnett Exp $
00002 //  Author: T. Burnett
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     // access to construction parameters
00035     
00036     int fullAzimuth() const;
00037     int fullPolar() const;
00038     // flags for convenience
00039     
00040     virtual const char *nameOf() const { return "Sphe"; }
00041     virtual void printOn( std::ostream& os = std::cout ) const;
00042 private: // keep these for now
00043     double inner_radius;        // inner radius of Sphe, can be zero
00044     double outer_radius;        // outer radius of Sphe, must be greater
00045                                 // than inner radius
00046     double theta_1;             // lower polar angle limit of Sphe
00047                                 // in radians, allowed range is
00048                                 // 0 <= theta_1 < PI
00049     double theta_2;             // upper polar angle limit of Sphe
00050                                 // in radians, allowed range is
00051                                 // theta_1 < theta_2 <= theta_1 + PI
00052     double phi_1;       // lower azimuthal angle limit of Sphe
00053                                 // in radians, allowed range is
00054                                 // 0 <= phi_1 < 2*PI
00055     double phi_2;               // upper azimuthal angle limit of Sphe
00056                                 // in radians, allowed range is
00057                                 // phi_1 < phi_2 <= phi_1 + 2*PI
00058     
00059     
00060     int full_azimuth;   // flag set to 1 if the azimuthal angular
00061                                 // limits cover the full 2 PI   
00062     int full_polar;             // flag set to 1 if the polar angular
00063                                 // limits cover the full PI
00064                                 // These flags are set by the constructor
00065                                 // and resize functions.        
00066     
00067 };
00068 
00069 #endif
00070 

Generated at Mon Nov 26 18:18:21 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000