10 #include "Randomize.hh"
267 G4cout <<
" ========================================================================== " << G4endl;
268 G4cout <<
" Configuration for Radioactivity generator " << G4endl;
275 G4cout <<
" Livetime: " << log(2) /
fRnLambda <<
" sec " << G4endl;
276 G4cout <<
" Lambda: " <<
fRnLambda <<
" " << G4endl;
277 G4cout <<
" Activity on ID border: " <<
fRn_Border <<
" mBq/m^3 " << G4endl;
282 G4cout <<
" ========================================================================== " << G4endl;
636 G4double Dim = (G4double) tSymNumber;
640 G4double& R2_ref = R2;
644 G4double theta = G4UniformRand() * 2. * TMath::Pi() / Dim;
646 G4double X = sqrt(R2) * cos(theta);
647 G4double Y = sqrt(R2) * sin(theta);
649 G4ThreeVector vec(X * CLHEP::m, Y * CLHEP::m, Z * CLHEP::m);
658 G4double dConcPMT = BinConversion *
fRn_Border;
660 G4double dConc = dConc0
669 dConc += dConc10 * 0.85;
672 dConc += dConc10 * 0.65;
679 dConc += dConc10 * 0.15;
685 dConc += dConc10 * 0.28;
705 G4double dConc10 = BinConversion *
fRnSK_Bottom * 0.825;
706 G4double dConcPMT = BinConversion *
fRn_Border;
708 G4double dConcG0 = dConc10 * 0.031 * 1;
709 G4double dConcG1 = dConc10 * 0.031 * 4;
710 G4double dConcG2 = dConc10 * 0.031 * 7.5;
711 G4double dConcG3 = dConc10 * 0.031 * 9;
712 G4double dConcG4 = dConc10 * 0.031 * 10.;
713 G4double dConcG5 = dConc10 * 0.031 * 9.5;
714 G4double dConcG6 = dConc10 * 0.031 * 8;
715 G4double dConcG7 = dConc10 * 0.031 * 7;
716 G4double dConcG8 = dConc10 * 0.031 * 5;
718 G4double dConc = dConc0
732 G4double dNorm09 = max((dConc10*0.9-dConc0),0.);
733 G4double dNorm06 = max((dConc10*0.6-dConc0),0.);
734 G4double dNorm035 = max((dConc10*0.35-dConc0),0.);
758 G4double dConc10 = BinConversion *
fRnSK_Bottom * 0.825;
759 G4double dConcPMT = BinConversion *
fRn_Border;
761 G4double dConcG0 = dConc10 * 0.031 * 2.5;
762 G4double dConcG1 = dConc10 * 0.031 * 2.8;
763 G4double dConcG2 = dConc10 * 0.031 * 5;
764 G4double dConcG3 = dConc10 * 0.031 * 5;
765 G4double dConcG4 = dConc10 * 0.031 * 6.;
766 G4double dConcG5 = dConc10 * 0.031 * 6.;
767 G4double dConcG6 = dConc10 * 0.031 * 5;
768 G4double dConcG7 = dConc10 * 0.031 * 3.5;
769 G4double dConcG8 = dConc10 * 0.031 * 2;
771 G4double dConc = dConc0
785 G4double dNorm055 = max((dConc10*0.55-dConc0),0.);
786 G4double dNorm045 = max((dConc10*0.45-dConc0),0.);
811 G4double dConc10 = BinConversion *
fRnSK_Bottom * 0.837;
812 G4double dConcPMT = BinConversion *
fRn_Border;
815 G4double dConcG0 = dConc10 * 0.031 * 0.5;
816 G4double dConcG1 = dConc10 * 0.031 * 1.;
817 G4double dConcG2 = dConc10 * 0.031 * 2.5;
818 G4double dConcG3 = dConc10 * 0.031 * 2.5;
819 G4double dConcG4 = dConc10 * 0.031 * 3.;
820 G4double dConcG5 = dConc10 * 0.031 * 3.;
821 G4double dConcG6 = dConc10 * 0.031 * 2.8;
822 G4double dConcG7 = dConc10 * 0.031 * 1.5;
823 G4double dConcG8 = dConc10 * 0.031 * 0.5;
825 G4double dConc = dConc0
839 G4double dNorm05 = max((dConc10*0.5-dConc0),0.);
863 G4double dConc10 = BinConversion *
fRnSK_Bottom * 0.825;
864 G4double dConcPMT = BinConversion *
fRn_Border;
866 G4double dConc = dConc0
871 G4double dNorm075 = max((dConc10*0.75-dConc0),0.);
872 G4double dNorm025 = max((dConc10*0.25-dConc0),0.);
895 G4double dConcPMT = BinConversion *
fRn_Border;
897 G4double dConc = dConc0
902 G4double dNorm10 = max((dConc10-dConc0),0.);
918 G4double dConcPMT = BinConversion *
fRn_Border;
920 G4double dConc = dConc0
925 G4double dNorm10 = max((dConc10-dConc0),0.);
941 G4double dConcPMT = BinConversion *
fRn_Border;
943 G4double dConc = dConc0
948 G4double dNorm10 = max((dConc10-dConc0),0.);
963 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
965 G4double dConc = dConcPMT;
973 G4double dConc10 = pow(BinConversion,2.) *
fRnSK_Bottom;
974 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
976 G4double dNorm10 = max((dConc10-dConc0),0.);
978 G4double dConc = dConcPMT + dConc0
986 dConc += dNorm10*0.50;
993 dConc += dNorm10*0.44;
1001 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1002 G4double dConc10 = pow(BinConversion,2.) *
fRn_Border * 0.39;
1003 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1005 G4double dConc = dConc0;
1009 G4double dNorm10 = max((dConc10-dConc0),0.);
1017 dConc += dNorm10 * 0.36;
1023 dConc += dNorm10 * 0.64;
1051 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1052 G4double dConc10 = pow(BinConversion,2.) *
fRnSK_Bottom * 1.13;
1053 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1055 G4double dConc = dConc0;
1059 G4double dNorm10 = max((dConc10-dConc0),0.);
1067 dConc += dNorm10 * 0.30;
1073 dConc += dNorm10 * 0.70;
1088 dConc += dConcPMT * 1.25;
1101 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1102 G4double dConc10 = pow(BinConversion,2.) *
fRnSK_Bottom;
1103 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1105 G4double dNorm07 = max((dConc10*0.80-dConc0),0.);
1106 G4double dNorm01 = max((dConc10*0.10-dConc0),0.);
1108 G4double dConc = dConc0
1134 dConc += dConcPMT * 1.205;
1145 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1147 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1149 G4double dConc = dConc0;
1166 dConc += dConcPMT * 1.44;
1178 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1180 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1182 G4double dConc = dConc0*2;
1198 dConc += dConcPMT * 1.22;
1212 G4double dConc0 = pow(BinConversion,2.) *
fRnSK_Center;
1213 G4double dConc10 = pow(BinConversion,2.) *
fRn_Border * 0.06;
1214 G4double dConcPMT = pow(BinConversion,2.) *
fRn_Border;
1216 G4double dConc = dConc0;
1220 double dNorm10 = max((dConc10-dConc0),0.);
1227 dConc += dNorm10 * 0.36;
1234 dConc += dNorm10 * 0.64;
1251 dConc += dConcPMT * 1.13;
1263 G4double R2 = val[0];
1264 G4double Z = val[1];
1265 G4double R = sqrt(R2);
1267 G4double Lambda = par[0];
1268 G4double BinConversion = par[1];
1431 dC = dCR * ( dCZ1/dCR1 * dDZ1 + dDZ2);
1435 dC = dCR * ( dCZ1/dCR1 * dDZ1 + dCZ2/dCR2 * dDZ2);
static G4double fRnSK_Bottom
static G4double fChangeR020N10
static G4double fGaussR170S0
static G4double fChangeR210P8
static G4double fGaussR140S6
static G4double fGaussR140S3
static G4double fChangeR040N10
static G4double fGaussR170S1
static G4double fChangeR210P1
void SetScenario(G4int iScenario)
static G4double fGaussR140S8
static G4double ZFit_R070(G4double x, G4double Lambda, G4double BinConversion)
WCSimDetectorConstruction * myDetector
static G4double fRn_Border
static G4double fGaussR140S7
G4double fScaleTypeOutsideR1
static G4double fGaussR190S5
static G4double fHK_Z_reco
static G4double fChangeR140N8
static G4double fGaussR190S4
static G4double fChangeR070N8
static TGraph * tFittingR215
static G4double ZFit_R210(G4double x, G4double Lambda, G4double BinConversion)
static G4double ZFit_R000(G4double x, G4double Lambda, G4double BinConversion)
static G4double fChangeZm16Flow
static G4double fChangeZp16Flow
static G4double fChangeZm13R080
static G4double fChangeR190N10
G4double fScaleTypeInsideZ
static G4double fChangeZm16R125
G4double fScaleTypeOutsideZ1
static G4double fRnSK_Center
G4double fScaleTypeInsideR2
G4double fScaleTypeInStrucZ3
static G4double fHK_Z_max
G4ThreeVector GetRandomVertex(G4int tSymNumber)
static G4double fSK_R_max
static G4double fChangeZm10Flow
static TGraph * tFittingR145
static G4double fChangeR210P13
static G4double ZFit_R190(G4double x, G4double Lambda, G4double BinConversion)
G4double fScaleTypeOutsideZ3
static G4double ZFit_R140(G4double x, G4double Lambda, G4double BinConversion)
static G4double fHK_R2_max
static G4double fChangeR190N8
static TGraph * tFittingR000
static G4double fGaussR170S4
static G4double fChangeZNMax
static G4double fGaussR190S0
G4double fScaleTypeOutsideR2
static TGraph * tFittingR195
static G4double fChangeR170N8
static G4double fChangeZp16R115
static G4double R2Fit_Z16p(G4double x, G4double Lambda, G4double BinConversion)
static G4double R2Fit_Z10(G4double x, G4double Lambda, G4double BinConversion)
WCSimGenerator_Radioactivity(WCSimDetectorConstruction *myDC)
static G4double fChangeR210N10
static G4double fGaussR190S2
static G4double fChangeR170N10
static G4double fGaussR140S2
static G4double fGaussR190S8
static G4double fChangeR000N10
static G4double fChangeZmMxR025
static TGraph * tFittingR025
static G4double fChangeR210N5
static G4double fGaussR170S5
static G4double fChangeZPMax
static G4double fChangeR070N10
~WCSimGenerator_Radioactivity()
static G4double fRn_PerPMT
static G4double ZFit_R020(G4double x, G4double Lambda, G4double BinConversion)
void Configuration(G4int iScenario, G4double dLifeTime=0)
static G4double R2Fit_ZpM(G4double x, G4double Lambda, G4double BinConversion)
static TGraph * tFittingR075
static G4double R2Fit_Z16(G4double x, G4double Lambda, G4double BinConversion)
static TGraph * tFittingR045
static G4double fSK_R_reco
static G4double fGaussR190M3
static G4double fGaussR190S1
static G4double fChangeR210N13
static G4double fChangeR140N10
static G4double fChangeZm13Flow
static G4double ZFit_R040(G4double x, G4double Lambda, G4double BinConversion)
static TGraph * tFittingR175
static G4double RadonFormula(G4double *val, G4double *par)
static G4double fSK_Z_max
static G4double fChangeZp16R025
static G4double R2Fit_Z00(G4double x, G4double Lambda, G4double BinConversion)
static G4double fChangeRMax
static G4double ZFit_R170(G4double x, G4double Lambda, G4double BinConversion)
static G4double R2Fit_Z13(G4double x, G4double Lambda, G4double BinConversion)
static G4double fChangeZmMxR175
static G4double fGaussR170S8
static G4double fSK_R2_reco
static G4double fHK_R_reco
static G4double fGaussR140S1
static G4double R2Fit_ZmM(G4double x, G4double Lambda, G4double BinConversion)
G4double fScaleTypeInsideR
static G4double fHK_R2_reco
std::vector< WCSimPmtInfo * > * Get_Pmts()
static G4double fChangeZm13R023
static G4double fChangeZm16R025
G4double fScaleTypeInStrucZ1
static G4double fSK_Z_reco
static G4double fGaussR170S6
static G4double fRnDiffusion_Coef
static G4double fGaussR190S3
static G4double fGaussR190S6
static G4double fGaussR170S3
static G4double fGaussR170S7
static G4double fSK_R2_max
static G4double fGaussR190S7
static G4double fChangeZm10R023
static G4double fGaussR140S4
static G4double fChangeZp14Flow
G4double fScaleTypeOutsideR3
static G4double fHK_R_max
static G4double fGaussR170S2
static G4double fGaussR140S5
G4double fScaleTypeInStrucZ2
G4double fScaleTypeOutsideZ2
static G4double fChangeZ000Flow
static G4double fGaussR140S0
static G4double R2Fit_Z14p(G4double x, G4double Lambda, G4double BinConversion)