74 #ifndef ST_TRS_DEDX_HH
75 #define ST_TRS_DEDX_HH
81 #include "SystemOfUnits.h"
82 #ifndef ST_NO_NAMESPACES
83 using namespace units;
87 #include "Randomize.h"
98 StTrsDeDx(
const string&,
double = 1.95*centimeter);
99 StTrsDeDx(
const char*,
double = 1.95*centimeter);
104 double padLength()
const;
106 void setPadLength(
double);
108 double transverseDiffusionCoefficient()
const;
109 double longitudinalDiffusionCoefficient()
const;
110 double attachmentCoefficient()
const;
113 double nextInteraction()
const;
114 int primary(
double bg=3)
const;
115 int secondary(
double*)
const;
116 double betheBloch(
double)
const;
117 double betheBlochTSS(
double,
double,
double) ;
119 #ifndef ST_NO_TEMPLATE_DEF_ARGS
120 void electrons(vector<int>&,
double bg=3)
const;
122 void electrons(vector<
int, allocator<int> >&,
double bg=3)
const;
126 void print(ostream& os = cout)
const;
130 void doInitialization();
135 double mMeanFreePath;
145 double mSigmaTransverse;
146 double mSigmaLongitudinal;
161 inline double StTrsDeDx::W()
const {
return mW;}
162 inline double StTrsDeDx::padLength()
const {
return mPadLength;}
163 inline double StTrsDeDx::transverseDiffusionCoefficient()
const {
return mSigmaTransverse;}
164 inline double StTrsDeDx::longitudinalDiffusionCoefficient()
const {
return mSigmaLongitudinal;}
165 inline double StTrsDeDx::attachmentCoefficient()
const {
return mAttachment;}