00001
00002
00003
00004
00005
00006
00007 #ifndef GEAR_GEARPOINTPROPERTIES_H
00008 #define GEAR_GEARPOINTPROPERTIES_H 1
00009
00010 #include <string>
00011 #include <vector>
00012
00013 #include "GEAR.h"
00014
00015 namespace gear {
00016
00025 class GearPointProperties {
00026
00027 public:
00029 virtual ~GearPointProperties() { ; }
00030
00031
00034 virtual long64 getCellID(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00035
00036
00039 virtual const std::string & getMaterialName(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00040
00043 virtual double getDensity(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00044
00045
00046
00047
00050 virtual double getTemperature(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00051
00054 virtual double getPressure(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00055
00058 virtual double getRadlen(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00059
00062 virtual double getIntlen(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00063
00066 virtual Point3D getLocalPosition(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00067
00070 virtual Vector3D getB(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00071
00074 virtual Vector3D getE(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00075
00078 virtual std::vector<std::string> getListOfLogicalVolumes(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00079
00082 virtual std::vector<std::string> getListOfPhysicalVolumes(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00083
00086 virtual std::string getRegion(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00087
00090 virtual bool isTracker(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00091
00094 virtual bool isCalorimeter(const Point3D & pos) const throw (NotImplementedException, std::exception ) = 0;
00095 };
00096 }
00097 #endif