File indexing completed on 2025-01-18 09:15:07
0001 #ifndef TargetGen_H
0002 #define TargetGen_H
0003
0004 #include "Particle.hxx"
0005 #include "CustomRand.hxx"
0006 #include "TRandom2.h"
0007
0008 class TargetGen
0009 {
0010 private:
0011 CustomRand *Rand;
0012 double mass;
0013 Particle * TargetParticle;
0014 double fProb[300] = {
0015 6.03456, 6.02429, 6.01155, 5.99636, 5.97873,
0016 5.95869, 5.93626, 5.91147, 5.88435, 5.85493,
0017 5.82325, 5.78935, 5.75326, 5.71504, 5.67472,
0018 5.63235, 5.58799, 5.54169, 5.4935, 5.44347,
0019 5.39167, 5.33816, 5.28299, 5.22623, 5.16794,
0020 5.10818, 5.04703, 4.98455, 4.92081, 4.85588,
0021 4.78982, 4.71692, 4.63621, 4.55583, 4.47582,
0022 4.39621, 4.31702, 4.23828, 4.16002, 4.08227,
0023 4.00506, 3.9284, 3.85233, 3.77686, 3.70202,
0024 3.62783, 3.55432, 3.48149, 3.40937, 3.33798,
0025 3.26733, 3.19745, 3.12834, 3.06002, 2.99251,
0026 2.92581, 2.85995, 2.79493, 2.73075, 2.66744,
0027 2.605, 2.54344, 2.48276, 2.41728, 2.35244,
0028 2.28922, 2.22759, 2.16751, 2.10895, 2.05186,
0029 1.99621, 1.94198, 1.88913, 1.83762, 1.78743,
0030 1.73851, 1.69086, 1.64442, 1.59918, 1.55511,
0031 1.51217, 1.47035, 1.42961, 1.38993, 1.35128,
0032 1.31364, 1.27698, 1.24129, 1.20653, 1.17269,
0033 1.13973, 1.10765, 1.07642, 1.04601, 1.01626,
0034 0.986934, 0.958443, 0.930759, 0.903861, 0.877727,
0035 0.852335, 0.827665, 0.803696, 0.780409, 0.757785,
0036 0.735806, 0.714452, 0.693708, 0.673555, 0.653978,
0037 0.63496, 0.616485, 0.598538, 0.581105, 0.56417,
0038 0.547721, 0.531743, 0.516223, 0.501148, 0.486506,
0039 0.472284, 0.45847, 0.445054, 0.432024, 0.419368,
0040 0.407077, 0.395125, 0.383513, 0.372237, 0.361289,
0041 0.350658, 0.340336, 0.330314, 0.320583, 0.311135,
0042 0.301962, 0.293056, 0.284409, 0.276014, 0.267863,
0043 0.25995, 0.252268, 0.244809, 0.237569, 0.230539,
0044 0.223715, 0.217091, 0.21066, 0.204417, 0.198357,
0045 0.192474, 0.186763, 0.181219, 0.175838, 0.170615,
0046 0.165545, 0.160623, 0.155843, 0.151185, 0.146666,
0047 0.142282, 0.138028, 0.133902, 0.129898, 0.126013,
0048 0.122245, 0.118588, 0.115041, 0.111599, 0.108261,
0049 0.105021, 0.101879, 0.0988298, 0.0958719, 0.0930022,
0050 0.0902182, 0.0875173, 0.084897, 0.0823549, 0.0798886,
0051 0.0774961, 0.0751749, 0.0729231, 0.0707385, 0.0686192,
0052 0.0665631, 0.0645685, 0.0626335, 0.0607563, 0.0589545,
0053 0.057219, 0.0555322, 0.053893, 0.0523001, 0.0507522,
0054 0.0492481, 0.0477867, 0.0463667, 0.0449872, 0.0436468,
0055 0.0423448, 0.0410798, 0.0398511, 0.0386576, 0.0374982,
0056 0.0363722, 0.0352785, 0.0342164, 0.0331849, 0.0321831,
0057 0.0312104, 0.0302658, 0.0293486, 0.0284581, 0.0275935,
0058 0.026754, 0.0259391, 0.0251479, 0.0243799, 0.0236344,
0059 0.0229107, 0.0221901, 0.0214923, 0.0208167, 0.0201626,
0060 0.0195293, 0.0189162, 0.0183226, 0.0177478, 0.0171913,
0061 0.0166525, 0.0161308, 0.0156257, 0.0151366, 0.0146629,
0062 0.0142044, 0.0137603, 0.0133303, 0.0129139, 0.0125107,
0063 0.0121203, 0.0117421, 0.011376, 0.0110214, 0.010678,
0064 0.0103455, 0.0100234, 0.00971153, 0.00940947, 0.00911693,
0065 0.00883361, 0.0085592, 0.00829385, 0.00803735, 0.00778883,
0066 0.00754804, 0.00731474, 0.0070887, 0.00686967, 0.00665746,
0067 0.00645184, 0.00625261, 0.00605957, 0.00587252, 0.00569128,
0068 0.00551567, 0.00534551, 0.00518063, 0.00502086, 0.00486605,
0069 0.00471604, 0.00457069, 0.00442984, 0.00429336, 0.0041611,
0070 0.00403295, 0.00390877, 0.00378843, 0.00367182, 0.00355882,
0071 0.00344932, 0.00334321, 0.00324038, 0.00314073, 0.00304505,
0072 0.0029524, 0.00286252, 0.00277533, 0.00269076, 0.00260872,
0073 0.00252913, 0.00245194, 0.00237706, 0.00230444, 0.00223399,
0074 0.00216566, 0.00209939, 0.00203512, 0.00197277, 0.00191231 };
0075 double FermiMomentum();
0076 TRandom2* fRandom;
0077 double fMom, fProton_Rand_Mom_Col, fProton_Rand_Mom_Col_Prob, f3He_Value;
0078 int fProton_Mom_Int;
0079 bool kFermi;
0080 public:
0081 bool fermi;
0082 Particle* GetParticle();
0083
0084 TargetGen(double mass_in, bool fermi_in);
0085 };
0086
0087 #endif