2 double WCPMTPercentCoverage2,
3 double WCIDDiameter = 64.8,
4 double WCPMTRadius = 0.254,
5 double mPMT_vessel_radius = 0.254)
7 cout <<
"WCPMTPercentCoverage: " << WCPMTPercentCoverage << endl
8 <<
"WCPMTPercentCoverage2: " << WCPMTPercentCoverage2 << endl;
10 cout <<
"WCIDDiameter: " << WCIDDiameter << endl
11 <<
"WCPMTRadius: " << WCPMTRadius << endl
12 <<
"mPMT_vessel_radius: " << mPMT_vessel_radius << endl;
14 int WCPMTperCellHorizontal = std::lround((WCPMTPercentCoverage+WCPMTPercentCoverage2) / WCPMTPercentCoverage2);
15 int WCBarrelNumPMTHorizontal = std::lround(WCIDDiameter * sqrt(TMath::Pi() * (WCPMTPercentCoverage+WCPMTPercentCoverage2)) /
16 (10.*TMath::Max(WCPMTRadius,mPMT_vessel_radius)));
17 double WCBarrelNumPMTHorizontal_db = WCIDDiameter * sqrt(TMath::Pi() * (WCPMTPercentCoverage+WCPMTPercentCoverage2)) /
18 (10.*TMath::Max(WCPMTRadius,mPMT_vessel_radius));
20 cout <<
"WCPMTperCellHorizontal: " << WCPMTperCellHorizontal << endl
21 <<
"WCBarrelNumPMTHorizontal: " << WCBarrelNumPMTHorizontal << endl
22 <<
"WCBarrelNumPMTHorizontal_db: " << WCBarrelNumPMTHorizontal_db << endl;
24 int WCBarrelRingNPhi = WCBarrelNumPMTHorizontal/WCPMTperCellHorizontal;
25 int remainder = WCBarrelNumPMTHorizontal % WCPMTperCellHorizontal;
26 cout <<
"WCBarrelRingNPhi: " << WCBarrelRingNPhi << endl
27 <<
"remainder: " << remainder << endl;
29 cout << std::setprecision(15) << endl;
32 double scale1 = TMath::Power((WCBarrelNumPMTHorizontal - remainder) / WCBarrelNumPMTHorizontal_db, 2);
33 cout <<
"Option 1: scale down by " << scale1
34 <<
" = (" << WCBarrelNumPMTHorizontal - remainder
35 <<
" / " << WCBarrelNumPMTHorizontal_db <<
")**2" << endl
37 <<
"/WCSim/SetPMTPercentCoverage " << WCPMTPercentCoverage * scale1 << endl
38 <<
"/WCSim/SetPMTPercentCoverage2 " << WCPMTPercentCoverage2 * scale1 << endl
42 double scale2 = TMath::Power((WCBarrelNumPMTHorizontal - remainder + WCPMTperCellHorizontal) / WCBarrelNumPMTHorizontal_db, 2);
43 cout <<
"Option 2: scale up by " << scale2
44 <<
" = (" << WCBarrelNumPMTHorizontal - remainder + WCPMTperCellHorizontal
45 <<
" / " << WCBarrelNumPMTHorizontal_db <<
")**2" << endl
47 <<
"/WCSim/SetPMTPercentCoverage " << WCPMTPercentCoverage * scale2 << endl
48 <<
"/WCSim/SetPMTPercentCoverage2 " << WCPMTPercentCoverage2 * scale2 << endl
void calcPhotoCoverage(double WCPMTPercentCoverage, double WCPMTPercentCoverage2, double WCIDDiameter=64.8, double WCPMTRadius=0.254, double mPMT_vessel_radius=0.254)