My Project
halflife.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Copyright (c) 2002-2007 by Turku PET Centre
4 
5  halflife.h
6 
7  Reference: Table of Isotopes, Sixth edition, edited by C.M. Lederer,
8  J.M. Hollander, I. Perlman. WILEY, 1967.
9 
10  Date:
11  2002-01-30 Vesa Oikonen
12  First created.
13  2002-08-08 VO
14  Ga68 changed from 67.8 to 68.0 as requested by Tuula Tolvanen.
15  2002-08-28 VO
16  Included unofficial isotopes Br76, Rb82 and Cu62.
17  2003-07-07 VO
18  Included function definitions for halflife.c.
19  2004-02-02 VO
20  Included unofficial half-lives for Br-75, Cu-64, Fe-52, O-14, Na-22 and
21  Zn-62.
22  2005-01-21 VO
23  Included hlCorrectIsotopeCode().
24  2007-02-01 VO
25  See halflife.c.
26  2007-03-30 Kaisa Liukko
27  Added isotope I-124
28 
29 
30 ******************************************************************************/
31 #ifndef _HALFLIFE_H
32 #define _HALFLIFE_H
33 /*****************************************************************************/
35 #define HL_O15 2.05 /* 123 s */
36 #define HL_N13 10.0
37 #define HL_C11 20.4
38 #define HL_F18 109.8
39 #define HL_Ge68 396000.0 /* 275 d */
40 #define HL_Ga68 68.0
41 /*****************************************************************************/
42 /* The following halflifes have not been checked from the reference; */
43 /* they are thus meant to be used only during program development period */
44 #define HL_Br75 98.0
45 #define HL_Br76 978.33 /* 58700 s */
46 #define HL_Cu62 9.7 /* 582 s */
47 #define HL_Cu64 768.0
48 #define HL_Fe52 4980.0
49 #define HL_Na22 1368000.0
50 #define HL_O14 1.1818
51 #define HL_Rb82 1.25 /* 75 s */
52 #define HL_Zn62 558.0
53 #define HL_I124 6013.44 /* 4.176 */
54 /*****************************************************************************/
55 /* Add ln(2) if it is not defined */
56 #ifndef M_LN2
57 #define M_LN2 0.69314718055994530942
58 #endif
59 /*****************************************************************************/
60 extern char *hlIsotopeCode(int isotope);
61 extern double hlFromIsotope(char *isocode);
62 extern double hl2lambda(double halflife);
63 extern double hlLambda2factor(double lambda, double frametime, double framedur);
64 extern float hlLambda2factor_float(float lambda, float frametime, float framedur);
65 extern char *hlCorrectIsotopeCode(char *isocode);
66 extern int hlIsotopeFromHalflife(double halflife);
67 /*****************************************************************************/
68 /* Deprecated function names. Please don't use these anymore */
69 #define lambda2factor hlLambda2factor
70 #define lambda2factor_float hlLambda2factor_float
71 /*****************************************************************************/
72 #endif
TPCISOT_RB_82
@ TPCISOT_RB_82
Definition: halflife.c:85
HL_Cu62
#define HL_Cu62
Definition: halflife.h:46
hlFromIsotope
double hlFromIsotope(char *isocode)
Definition: halflife.c:118
hlLambda2factor
double hlLambda2factor(double lambda, double frametime, double framedur)
Definition: halflife.c:158
hlLambda2factor
double hlLambda2factor(double lambda, double frametime, double framedur)
Definition: halflife.c:158
hlCorrectIsotopeCode
char * hlCorrectIsotopeCode(char *isocode)
Definition: halflife.c:201
isotope_halflife
static double isotope_halflife[]
Definition: halflife.c:76
halflife.h
HL_O14
#define HL_O14
Definition: halflife.h:50
hlIsotopeCode
char * hlIsotopeCode(int isotope)
Definition: halflife.c:98
TPCISOT_GE_68
@ TPCISOT_GE_68
Definition: halflife.c:84
hlIsotopeFromHalflife
int hlIsotopeFromHalflife(double halflife)
Definition: halflife.c:255
TPCISOT_CU_64
@ TPCISOT_CU_64
Definition: halflife.c:83
hlIsotopeFromHalflife
int hlIsotopeFromHalflife(double halflife)
Definition: halflife.c:255
HL_Cu64
#define HL_Cu64
Definition: halflife.h:47
TPCISOT_BR_75
@ TPCISOT_BR_75
Definition: halflife.c:83
TPCISOT_F_18
@ TPCISOT_F_18
Definition: halflife.c:85
M_LN2
#define M_LN2
Definition: halflife.h:57
TPCISOT_BR_76
@ TPCISOT_BR_76
Definition: halflife.c:83
hl2lambda
double hl2lambda(double halflife)
Definition: halflife.c:144
TPCISOT_UNKNOWN
@ TPCISOT_UNKNOWN
Definition: halflife.c:87
HL_Fe52
#define HL_Fe52
Definition: halflife.h:48
HL_Ga68
#define HL_Ga68
Definition: halflife.h:40
TPCISOT_GA_68
@ TPCISOT_GA_68
Definition: halflife.c:84
HL_Br76
#define HL_Br76
Definition: halflife.h:45
TPCISOT_N_13
@ TPCISOT_N_13
Definition: halflife.c:86
TPCISOT_FE_52
@ TPCISOT_FE_52
Definition: halflife.c:84
TPCISOT_C_11
@ TPCISOT_C_11
Definition: halflife.c:85
hlFromIsotope
double hlFromIsotope(char *isocode)
Definition: halflife.c:118
TPCISOT_CU_62
@ TPCISOT_CU_62
Definition: halflife.c:83
HL_I124
#define HL_I124
Definition: halflife.h:53
HL_O15
#define HL_O15
Definition: halflife.h:35
TPCISOT_O_15
@ TPCISOT_O_15
Definition: halflife.c:86
hl2lambda
double hl2lambda(double halflife)
Definition: halflife.c:144
hlLambda2factor_float
float hlLambda2factor_float(float lambda, float frametime, float framedur)
Definition: halflife.c:178
HL_Na22
#define HL_Na22
Definition: halflife.h:49
HL_N13
#define HL_N13
Definition: halflife.h:36
HL_Br75
#define HL_Br75
Definition: halflife.h:44
HL_Zn62
#define HL_Zn62
Definition: halflife.h:52
HL_Ge68
#define HL_Ge68
Definition: halflife.h:39
hlCorrectIsotopeCode
char * hlCorrectIsotopeCode(char *isocode)
Definition: halflife.c:201
HL_F18
#define HL_F18
Definition: halflife.h:38
TPCISOT_ZN_62
@ TPCISOT_ZN_62
Definition: halflife.c:85
HL_Rb82
#define HL_Rb82
Definition: halflife.h:51
isotope_code
static char * isotope_code[]
Definition: halflife.c:70
TPCISOT_O_14
@ TPCISOT_O_14
Definition: halflife.c:86
hlIsotopeCode
char * hlIsotopeCode(int isotope)
Definition: halflife.c:98
HL_C11
#define HL_C11
Definition: halflife.h:37
TPCISOT_I_124
@ TPCISOT_I_124
Definition: halflife.c:86
substitutions.h
TPCISOT_NA_22
@ TPCISOT_NA_22
Definition: halflife.c:84
hlLambda2factor_float
float hlLambda2factor_float(float lambda, float frametime, float framedur)
Definition: halflife.c:178