00001
00002 #ifndef StiElossCalculator_H_INCLUDED
00003 #define StiElossCalculator_H_INCLUDED
00004 #include "Stiostream.h"
00025 #include <string>
00026 using namespace std;
00027
00028 class StiElossCalculator
00029 {
00030 public:
00031 StiElossCalculator(double zOverA, double ionization, double A, double Z, double Dens);
00032
00033 virtual ~StiElossCalculator();
00034 double calculate(double charge2, double m, double beta2) const;
00035 double calcError(double charge2, double m, double beta2) const;
00036 double getzOverA() const {return _zOverA;}
00037 double getionization2() const {return _ionization2;}
00038 double getA() const {return _A;}
00039 double getZ() const {return _Z;}
00040 double getDens() const {return _Dens;}
00041 protected:
00042 static const double _k;
00043
00045 double _zOverA;
00047 double _ionization2;
00048 double _A;
00049 double _Z;
00050 double _Dens;
00051 int mId;
00052 };
00053 ostream& operator<<(ostream& os, const StiElossCalculator& m);
00054 typedef StiElossCalculator StiELossCalculator;
00055 #endif
00056