00001
00002
00003
00004
00005 #ifndef TUBE_H
00006 #define TUBE_H
00007
00008 #include "geometry/Volume.h"
00009
00011 class Tube: public Volume
00012 {
00013
00014 public:
00016 Tube( double z, double ri, double ro );
00017
00019 void resize( double z, double ri, double ro );
00020
00021 const char *nameOf() const { return "Tube"; }
00022 void printOn( std::ostream& os = std::cout ) const;
00023
00024
00025 double innerRadius()const;
00026 double outerRadius()const;
00027 double length()const;
00028
00029
00030 const Vector& axis()const;
00031
00032
00033 private:
00034
00035 void calculateSurfaces( double z, double ri, double ro );
00036 };
00037
00038 #endif // TUBE_H
00039