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

Last change on this file since 8657 was 1507, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 2.0 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, Bool_t type=kFALSE) : MParticle(type?MParticle::kEPositron:MParticle::kEElectron)
14 {
15 fEnergy = e;
16 fZ = z;
17 }
18
19 MElectron(MParticle &p, Bool_t type=kFALSE) : MParticle(p, type?MParticle::kEPositron:MParticle::kEElectron) { }
20 MElectron(MParticle &p, Double_t e, Bool_t type=kFALSE) : MParticle(p, e, type?MParticle::kEPositron:MParticle::kEElectron) {}
21
22 void operator=(MParticle &p) { MParticle::operator=(p); }
23
24 // ----------------------------------------------------------------
25
26 static Double_t Sigma_ge(Double_t *x, Double_t *k=NULL);
27
28 // ----------------------------------------------------------------
29
30 static Double_t DiSum(Double_t *x, Double_t *k=NULL);
31 static Double_t Li(Double_t *x, Double_t *k);
32 static Double_t Li2(Double_t *x, Double_t *k=NULL);
33 static Double_t Flim(Double_t *x, Double_t *k=NULL);
34 static Double_t Compton(Double_t *x, Double_t *k);
35 static Double_t InteractionLength(Double_t *E, Double_t *k=NULL);
36 static Double_t GetInteractionLength(Double_t E, Double_t z=0);
37
38 Double_t GetInteractionLength() const;
39
40 // ----------------------------------------------------------------
41
42 static Double_t p_e(Double_t *x, Double_t *k);
43 static Double_t G_q(Double_t *x, Double_t *k);
44 static Double_t EnergyLoss(Double_t *E, Double_t *z=NULL, Double_t *ep=NULL);
45 static Double_t GetEnergyLoss(Double_t E, Double_t z=0, Double_t *ep=NULL);
46
47 Double_t GetEnergyLoss(Double_t *ep) const;
48
49 // ----------------------------------------------------------------
50
51 MPhoton *DoInvCompton();
52 Bool_t SetNewPositionB(Double_t B);
53
54 // ----------------------------------------------------------------
55
56 static void DrawInteractionLength(Double_t z);
57 void DrawInteractionLength() const;
58
59 ClassDef(MElectron, 1)
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.