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

Wedge.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/geometry/geometry/Wedge.h,v 1.2 2000/01/18 00:42:11 burnett Exp $
00002 //
00003 
00004 #ifndef __WEDGE_H
00005 #define __WEDGE_H
00006 
00007 #include "geometry/Surface.h"
00008 #include "geometry/Plane.h"
00009 
00011 class Wedge : public Surface
00012 {
00013  public:
00014     Wedge(const Point& c,const Vector& axis, double phi1, double phi2);
00015     // constructor: inside is from phi1 to phi2
00016 
00017     virtual double how_near( const Point& x )const;
00018     // signed function giving minimum distance to the surface: surface
00019     // is actually defined by zero.
00020 
00021     virtual double distance( const Point& x ,const Vector& v, int inout) const;
00022     virtual Vector normal( const Point& x )const;
00023     // returns normal-vector at Point x, assuming x to be "on" the surface
00024 
00025     const Vector& axis()const{return Surface::direction();}
00026     const Vector& n1()const; //return the normal to plane 1
00027     const Vector& n2()const; // return the normal to plane 2
00028  
00029     const char * nameOf()const{return "Wedge";}
00030 
00031  private:
00032     Vector _n1;
00033     Vector _n2;
00034     double dphi;
00035 };
00036 #endif
00037 

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