1
0
Fork 0
mirror of https://github.com/gwm17/catima.git synced 2024-11-26 12:08:52 -05:00
catima/cwrapper.h

55 lines
1.4 KiB
C
Raw Normal View History

2017-07-25 12:19:11 -04:00
#ifndef CATIMA_CWRAPPER
#define CATIMA_CWRAPPER
#ifdef __cplusplus
extern "C" {
#endif
struct CatimaResult{
double Ein;
double Eout;
double Eloss;
double range;
double dEdxi;
double dEdxo;
double sigma_E;
double sigma_a;
double sigma_r;
2019-10-08 14:25:30 -04:00
double tof;
2017-07-25 12:19:11 -04:00
};
enum z_eff_type {
none = 0,
2019-10-08 14:25:30 -04:00
pierce_blann = 1,
anthony_landorf = 2,
hubert = 3,
winger = 4,
schiwietz = 5,
global = 6,
atima14 = 7
2017-07-25 12:19:11 -04:00
};
struct CatimaConfig {
char z_effective;
};
2022-03-29 05:19:50 -04:00
extern struct CatimaConfig catima_defaults;
2017-07-25 12:19:11 -04:00
typedef struct CatimaResult CatimaResult;
CatimaResult catima_calculate(double pa, int pz, double T, double ta, double tz, double thickness, double density);
2022-03-29 05:19:50 -04:00
double catima_Eout(double pa, int pz, double T, double ta, double tz, double thickness, double density);
double catima_range(double pa, int pz, double T, double ta, double tz);
double catima_range_straggling(double pa, int pz, double T, double ta, double tz);
2017-07-25 12:19:11 -04:00
double catima_angular_straggling_from_E(double pa, int pz, double Tin, double Tout,double ta, double tz);
double catima_energy_straggling_from_E(double pa, int pz, double Tin, double Tout,double ta, double tz);
2022-03-29 05:19:50 -04:00
double atomic_weight(int i);
double catima_nonreaction_rate(double pa, int pz, double T, double ta, double tz, double thickness);
2017-07-25 12:19:11 -04:00
#ifdef __cplusplus
}
#endif
2019-10-08 14:25:30 -04:00
#endif