Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
DegradeInterface.hh
Go to the documentation of this file.
1// Interface to Degrade
2
3#ifndef G_DEGRADE_INTERFACE
4#define G_DEGRADE_INTERFACE
5
6#include <cstdint>
7
8#ifndef __CINT__
9
10namespace Garfield {
11
12namespace Degrade {
13
14extern "C" {
15
16void deginit(int64_t* ng, int64_t* nevt, int64_t* mip, int64_t* idvec,
17 int32_t* iseed, double* e0, double* et, double* ec, int64_t* ngas1,
18 int64_t* ngas2, int64_t* ngas3, int64_t* ngas4, int64_t* ngas5,
19 int64_t* ngas6, double* frac1, double* frac2, double* frac3,
20 double* frac4, double* frac5, double* frac6, double* t0,
21 double* p0, double* etot, double* btot, double* bang,
22 int64_t* jcmp, int64_t* jray, int64_t* jpap, int64_t* jbrm,
23 int64_t* jecasc, int64_t* iverb);
24void getdedx(double* dedxi, double* cldensi);
25int64_t getie(double* e);
26double gettcf(int64_t* ie);
27double gettcfn(int64_t* ie);
28void getlevel(int64_t* ie, double* r1, int64_t* izbr, double* rgas, double* ein,
29 int64_t* ia, double* wpl, int64_t* index, double* an, double* ps,
30 double* wklm, int64_t* nc0, double* ec0, int64_t* ng1,
31 double* eg1, int64_t* ng2, double* eg2, double* dstfl,
32 int64_t* jpn, int64_t* kg1, int64_t* lg1, int64_t* igshel,
33 int64_t* ionmdl, int64_t* ilvl);
34int64_t getgas(int64_t* ilvl);
35double ionpot();
36void getebrem(int64_t* k, double* ee, double* xe, double* ye, double* ze,
37 double* te, double* dxe, double* dye, double* dze, int64_t* iok);
38void getecasc(int64_t* k, double* ee, double* xe, double* ye, double* ze,
39 double* te, double* dxe, double* dye, double* dze, int64_t* iok);
40void degrade();
41void brems(int64_t* iz, double* ein, double* dx, double* dy, double* dz,
42 double* eout, double* dxe, double* dye, double* dze, double* egamma,
43 double* dxg, double* dyg, double* dzg);
44void bremscasc(int64_t* j11, double* egamma, double* x0, double* y0, double* z0,
45 double* t0, double* gdcx, double* gdcy, double* gdcz,
46 int64_t* ilow);
47void cascadee(int64_t* j11, int64_t* kgas, int64_t* lgas, double* x0,
48 double* y0, double* z0, double* t0, double* einit,
49 int64_t* ishell);
50void drcos(double* drx, double* dry, double* drz, double* theta, double* phi,
51 double* drxx, double* dryy, double* drzz);
52void ionsplit(int64_t* i, double* e, double* ei, double* esec);
53}
54} // namespace Degrade
55} // namespace Garfield
56#endif
57#endif
int64_t getie(double *e)
void getlevel(int64_t *ie, double *r1, int64_t *izbr, double *rgas, double *ein, int64_t *ia, double *wpl, int64_t *index, double *an, double *ps, double *wklm, int64_t *nc0, double *ec0, int64_t *ng1, double *eg1, int64_t *ng2, double *eg2, double *dstfl, int64_t *jpn, int64_t *kg1, int64_t *lg1, int64_t *igshel, int64_t *ionmdl, int64_t *ilvl)
void ionsplit(int64_t *i, double *e, double *ei, double *esec)
void getecasc(int64_t *k, double *ee, double *xe, double *ye, double *ze, double *te, double *dxe, double *dye, double *dze, int64_t *iok)
void brems(int64_t *iz, double *ein, double *dx, double *dy, double *dz, double *eout, double *dxe, double *dye, double *dze, double *egamma, double *dxg, double *dyg, double *dzg)
void getebrem(int64_t *k, double *ee, double *xe, double *ye, double *ze, double *te, double *dxe, double *dye, double *dze, int64_t *iok)
void drcos(double *drx, double *dry, double *drz, double *theta, double *phi, double *drxx, double *dryy, double *drzz)
void bremscasc(int64_t *j11, double *egamma, double *x0, double *y0, double *z0, double *t0, double *gdcx, double *gdcy, double *gdcz, int64_t *ilow)
int64_t getgas(int64_t *ilvl)
double gettcfn(int64_t *ie)
void deginit(int64_t *ng, int64_t *nevt, int64_t *mip, int64_t *idvec, int32_t *iseed, double *e0, double *et, double *ec, int64_t *ngas1, int64_t *ngas2, int64_t *ngas3, int64_t *ngas4, int64_t *ngas5, int64_t *ngas6, double *frac1, double *frac2, double *frac3, double *frac4, double *frac5, double *frac6, double *t0, double *p0, double *etot, double *btot, double *bang, int64_t *jcmp, int64_t *jray, int64_t *jpap, int64_t *jbrm, int64_t *jecasc, int64_t *iverb)
void cascadee(int64_t *j11, int64_t *kgas, int64_t *lgas, double *x0, double *y0, double *z0, double *t0, double *einit, int64_t *ishell)
double gettcf(int64_t *ie)
void getdedx(double *dedxi, double *cldensi)