00001
00002
00003
00004
00005
00006
00007 #ifndef GEAR_GEARDISTANCEPROPERTIES_H
00008 #define GEAR_GEARDISTANCEPROPERTIES_H 1
00009
00010 #include <string>
00011 #include <vector>
00012
00013 #include "GEAR.h"
00014
00015 namespace gear {
00016
00026 class GearDistanceProperties {
00027
00028 public:
00030 virtual ~GearDistanceProperties() { ; }
00031
00034 virtual const std::vector<std::string> & getMaterialNames(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00035
00039 virtual const std::vector<double> & getMaterialThicknesses(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00040
00043 virtual double getNRadlen(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00044
00047 virtual double getNIntlen(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00048
00051 virtual double getBdL(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00052
00055 virtual double getEdL(const Point3D & p0, const Point3D & p1) const throw (NotImplementedException, std::exception ) = 0;
00056 };
00057 }
00058 #endif