00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00032
00039
00040
00045
00046
00056
00057
00058 #ifndef _MJDATABASEMEGACRYSTAL_HH
00059 #define _MJDATABASEMEGACRYSTAL_HH
00060
00061
00062 #include <string>
00063
00064 using namespace std;
00065
00066 class MJDatabaseElement;
00067
00068 class MJDatabaseMEGACrystal
00069 {
00070 public:
00071
00072
00073 MJDatabaseMEGACrystal();
00074
00075 MJDatabaseMEGACrystal(string, int, string, double,
00076 double, double, double,
00077 double [], double, double,
00078 char);
00079
00080
00081 MJDatabaseMEGACrystal(const MJDatabaseMEGACrystal &);
00082
00083
00084 ~MJDatabaseMEGACrystal();
00085
00086
00087 string GetIdentity() { return _name;}
00088 int GetIndex() {return _id;}
00089 string GetMaterialName() {return _matName;}
00090 MJDatabaseElement* GetMaterial () {return _material;}
00091 double GetHeight() {return _height;}
00092 double GetInnerR() {return _innerR;}
00093 double GetOuterR() {return _outerR;}
00094 double GetCoreDepth() {return _coreDepth;}
00095
00096 double GetInnerDeadLayerWidth() {return _innerDeadLayerW;}
00097 double GetOuterDeadLayerWidth() {return _outerDeadLayerW;}
00098 char GetDiodType() {return _diodType;}
00099
00100 string message(){return "you called MEGACrystal";}
00101 void print();
00102
00103
00104 protected:
00105
00106
00107
00108 private:
00109 string _name;
00110 int _id;
00111 string _matName;
00112 MJDatabaseElement* _material;
00113 double _height;
00114 double _innerR;
00115 double _outerR;
00116 double _coreDepth;
00117 double _orientation[3];
00118 double _innerDeadLayerW;
00119 double _outerDeadLayerW;
00120 char _diodType;
00121
00122
00123 };
00124 #endif