00001
00002 #ifndef DETDESC_ISOTOPE_H
00003 #define DETDESC_ISOTOPE_H
00004
00005
00006 #include "DetDesc/Material.h"
00007
00008 #include "DetDesc/CLIDIsotope.h"
00009
00018 class Isotope : public Material
00019 {
00020
00021 public:
00022
00024 Isotope( const std::string name = "" ,
00025 const double a = 0 ,
00026 const double z = 0 ,
00027 const double i = 0 ,
00028 const double density = 0 ,
00029 const double rl = 0 ,
00030 const double al = 0 ,
00031 const double temp = Gaudi::Units::STP_Temperature ,
00032 const double press = Gaudi::Units::STP_Pressure ,
00033 const eState s = stateUndefined );
00034
00035 virtual ~Isotope();
00036
00037
00038 virtual inline double A() const;
00039 virtual inline void setA( const double value );
00040
00041
00042 virtual inline double Z() const;
00043 virtual inline void setZ( const double value );
00044
00045
00046 virtual inline double I() const;
00047 virtual inline void setI( const double value );
00048
00049
00050 virtual inline double C() const;
00051 virtual inline void setC( const double value );
00052 virtual inline double a() const;
00053 virtual inline void seta( const double value );
00054 virtual inline double m() const;
00055 virtual inline void setm( const double value );
00056 virtual inline double X0() const;
00057 virtual inline void setX0( const double value );
00058 virtual inline double X1() const;
00059 virtual inline void setX1( const double value );
00060
00061
00062
00063
00064 virtual inline double N() const;
00065
00066 inline const CLID& clID () const { return Isotope::classID(); }
00067 static const CLID& classID () { return CLID_Isotope; }
00068
00069 protected:
00070
00071
00072 double m_A;
00073
00074
00075 double m_Z;
00076
00077
00078 double m_I;
00079
00080
00081 double m_C;
00082 double m_a;
00083 double m_m;
00084 double m_X0;
00085 double m_X1;
00086
00087 };
00089 #include "DetDesc/Isotope.icpp"
00091
00092 #endif // DETDESC_ISOTOPE_H