Garfield++ 5.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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,
17 int64_t* idvec, int32_t* iseed,
18 double* e0, double* et, double* ec,
19 int64_t* ngas1, int64_t* ngas2, int64_t* ngas3,
20 int64_t* ngas4, int64_t* ngas5, int64_t* ngas6,
21 double* frac1, double* frac2, double* frac3,
22 double* frac4, double* frac5, double* frac6,
23 double* t0, double* p0,
24 double* etot, double* btot, double* bang,
25 int64_t* jcmp, int64_t* jray, int64_t* jpap,
26 int64_t* jbrm, int64_t* jecasc, int64_t* iverb);
27void getdedx(double* dedxi, double* cldensi);
28int64_t getie(double* e);
29double gettcf(int64_t* ie);
30double gettcfn(int64_t* ie);
31void getlevel(int64_t* ie, double* r1, int64_t* izbr, double* rgas,
32 double* ein, int64_t* ia, double* wpl, int64_t* index,
33 double* an, double* ps, double* wklm,
34 int64_t* nc0, double* ec0, int64_t* ng1, double* eg1,
35 int64_t* ng2, double* eg2, double* dstfl, int64_t* jpn,
36 int64_t* kg1, int64_t* lg1, int64_t* igshel,
37 int64_t* ionmdl, int64_t* ilvl);
38int64_t getgas(int64_t* ilvl);
39double ionpot();
40void getebrem(int64_t* k, double* ee, double* xe, double* ye, double* ze,
41 double* te, double* dxe, double* dye, double* dze, int64_t* iok);
42void getecasc(int64_t* k, double* ee, double* xe, double* ye, double* ze,
43 double* te, double* dxe, double* dye, double* dze, int64_t* iok);
44void degrade();
45void brems(int64_t* iz, double* ein, double* dx, double* dy, double* dz,
46 double* eout, double* dxe, double* dye, double* dze,
47 double* egamma, double* dxg, double* dyg, double* dzg);
48void bremscasc(int64_t* j11, double* egamma,
49 double* x0, double* y0, double* z0, double* t0,
50 double* gdcx, double* gdcy, double* gdcz, int64_t* ilow);
51void cascadee(int64_t* j11, int64_t* kgas, int64_t* lgas,
52 double* x0, double* y0, double* z0, double* t0,
53 double* einit, int64_t* ishell);
54void drcos(double* drx, double* dry, double* drz,
55 double* theta, double* phi,
56 double* drxx, double* dryy, double* drzz);
57void ionsplit(int64_t* i, double* e, double* ei, double* esec);
58}
59}
60}
61#endif
62#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)