source: trunk/WuerzburgSoft/Thomas/mphys/MElectron.h@ 1356

Last change on this file since 1356 was 1356, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 1.5 KB
Line 
1#ifndef MARS_MElectron
2#define MARS_MElectron
3
4#ifndef MARS_MParticle
5#include "MParticle.h"
6#endif
7
8class MPhoton;
9
10class MElectron : public MParticle
11{
12public:
13 MElectron(Double_t e=0, Double_t z=0) : MParticle(MParticle::kEGamma)
14 {
15 fEnergy = e;
16 fZ = z;
17 }
18
19 void operator=(MParticle &p) { MParticle::operator=(p); }
20
21 // ----------------------------------------------------------------
22
23 static Double_t Planck(Double_t *x, Double_t *k=NULL);
24 static Double_t Li(Double_t *x, Double_t *k);
25 static Double_t Li2(Double_t *x, Double_t *k=NULL);
26 static Double_t Flim(Double_t *x, Double_t *k=NULL);
27 static Double_t Compton(Double_t *x, Double_t *k);
28 static Double_t InteractionLength(Double_t *E, Double_t *k=NULL);
29 static Double_t GetInteractionLength(Double_t E, Double_t z=0);
30
31 Double_t GetInteractionLength() const;
32
33 // ----------------------------------------------------------------
34
35 static Double_t p_e(Double_t *x, Double_t *k);
36 static Double_t G_q(Double_t *x, Double_t *k);
37 static Double_t EnergyLoss(Double_t *E, Double_t *z=NULL, Double_t *ep=NULL);
38 static Double_t GetEnergyLoss(Double_t E, Double_t z=0, Double_t *ep=NULL);
39
40 Double_t GetEnergyLoss(Double_t *ep) const;
41
42 MPhoton *DoInvCompton(Double_t theta);
43
44 // ----------------------------------------------------------------
45
46 static void DrawInteractionLength(Double_t z);
47 void DrawInteractionLength() const;
48
49 ClassDef(MElectron, 1)
50};
51
52#endif
Note: See TracBrowser for help on using the repository browser.