aboutsummaryrefslogtreecommitdiff
path: root/src/muon.h
blob: ce3db298f5489a80d60f6f6797b304f83ea4deed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef MUON_H
#define MUON_H

#include <stddef.h> /* for size_t */

#define EULER_CONSTANT 0.57721

typedef struct muon_energy {
    double *x;
    double *T;
    size_t n;
} muon_energy;

muon_energy *muon_init_energy(double T0, double rho, size_t n);
double muon_get_energy(double x, muon_energy *m);
void muon_free_energy(muon_energy *m);
double get_range(double T, double rho);
double get_dEdx(double T, double rho);
double get_expected_reflected_charge(double x, double T, double theta0, double *pos, double *dir, double *pmt_pos, double *pmt_normal, double r);
double get_expected_charge(double x, double T, double T0, double *pos, double *dir, double *pmt_pos, double *pmt_normal, double r);

#endif