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

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