00001
00002
00003
00004
00005
00006
00007 #ifndef GEAR_GEAR_H
00008 #define GEAR_GEAR_H 1
00009
00010 #include <map>
00011 #include <vector>
00012 #include <string>
00013 #include <exception>
00014
00015
00016
00017 #include "gearimpl/Vectors.h"
00018
00019
00020 namespace gear {
00021
00022
00023
00024 typedef Vector2D Point2D ;
00025
00026 typedef Vector3D Point3D ;
00027
00028 typedef std::vector<int> IntVec ;
00029 typedef std::vector<double> DoubleVec ;
00030 typedef std::vector<std::string> StringVec ;
00031
00032
00034 typedef long long long64 ;
00035
00036
00037
00043 class Exception : public std::exception {
00044
00045
00046 protected:
00047 std::string message ;
00048
00049 Exception(){ ; }
00050
00051 public:
00052 virtual ~Exception() throw() { ; }
00053
00054 Exception( const std::string& text ){
00055 message = "lcio::Exception: " + text ;
00056 }
00057
00058 virtual const char* what() const throw() { return message.c_str() ; }
00059
00060 };
00061
00062
00067 class ParseException : public Exception{
00068
00069 protected:
00070 ParseException() { ; }
00071 public:
00072 virtual ~ParseException() throw() { ; }
00073
00074 ParseException( std::string text ){
00075 message = "gear::ParseException: " + text ;
00076 }
00077 };
00078
00083 class NotImplementedException : public Exception{
00084
00085 protected:
00086 NotImplementedException() { ; }
00087
00088 public:
00089 NotImplementedException( std::string text ){
00090 message = "gear::NotImplementedException: " + text ;
00091 }
00092 virtual ~NotImplementedException() throw() { ; }
00093
00094 };
00095
00101 class UnknownParameterException : public Exception{
00102
00103 protected:
00104 UnknownParameterException() { ; }
00105
00106 public:
00107 UnknownParameterException( std::string text ){
00108 message = "gear::UnknownParameterException: " + text ;
00109 }
00110 virtual ~UnknownParameterException() throw() { ; }
00111
00112 };
00113 }
00114
00115 namespace gear {
00116
00117
00120 class GEAR {
00121
00122 public:
00124 virtual ~GEAR() { ; }
00125
00126
00127
00128 public:
00129 static const char* GEARPARAMETERS ;
00130 static const char* TPCPARAMETERS ;
00131 static const char* CALORIMETERPARAMETERS ;
00132 static const char* VXDPARAMETERS ;
00133
00134
00135 };
00136 }
00137 #endif