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

Last change on this file since 1494 was 1449, checked in by tbretz, 23 years ago
*** empty log message ***
File size: 1.9 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 DiSum(Double_t *x, Double_t *k=NULL);
27 static Double_t Li(Double_t *x, Double_t *k);
28 static Double_t Li2(Double_t *x, Double_t *k=NULL);
29 static Double_t Flim(Double_t *x, Double_t *k=NULL);
30 static Double_t Compton(Double_t *x, Double_t *k);
31 static Double_t InteractionLength(Double_t *E, Double_t *k=NULL);
32 static Double_t GetInteractionLength(Double_t E, Double_t z=0);
33
34 Double_t GetInteractionLength() const;
35
36 // ----------------------------------------------------------------
37
38 static Double_t p_e(Double_t *x, Double_t *k);
39 static Double_t G_q(Double_t *x, Double_t *k);
40 static Double_t EnergyLoss(Double_t *E, Double_t *z=NULL, Double_t *ep=NULL);
41 static Double_t GetEnergyLoss(Double_t E, Double_t z=0, Double_t *ep=NULL);
42
43 Double_t GetEnergyLoss(Double_t *ep) const;
44
45 // ----------------------------------------------------------------
46
47 MPhoton *DoInvCompton(Double_t theta);
48 Bool_t SetNewPositionB(Double_t B);
49
50 // ----------------------------------------------------------------
51
52 static void DrawInteractionLength(Double_t z);
53 void DrawInteractionLength() const;
54
55 ClassDef(MElectron, 1)
56};
57
58#endif
Note: See TracBrowser for help on using the repository browser.