Skip to content

Commit 8e7224f

Browse files
committed
Implement a new refractive-index array for the G2P_FB118() MPT
This change has also been propagated to the FakeG2P_FB118() material properties table (MPT). The new refractive index has been tested to provide similar results as the old one.
1 parent 1d0b454 commit 8e7224f

File tree

1 file changed

+44
-34
lines changed

1 file changed

+44
-34
lines changed

source/materials/OpticalMaterialProperties.cc

Lines changed: 44 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2079,31 +2079,36 @@ namespace opticalprops {
20792079
G4bool cryogenic_temperature,
20802080
G4bool verbosity
20812081
)
2082-
{
2083-
// iopscience.iop.org/article/10.1088/1748-0221/16/09/P09027
2082+
{
2083+
//
20842084
G4MaterialPropertiesTable* mpt = new G4MaterialPropertiesTable();
20852085

20862086
// REFRACTIVE INDEX
2087+
// In C. Brizzolari et al 2021 JINST 16 P09027 (iopscience.iop.org/article/10.1088/1748-0221/16/09/P09027)
2088+
// they give the 1.502 value for the refractive index of the G2P bar. I could not find any detail there
2089+
// on how they measured it, p.e. which wavelength was the light that they used in order to measure this
2090+
// r. index. This is why, I extracted the data below from https://doi.org/10.1016/j.colsurfa.2022.130018 ,
2091+
// where they measured the refraction index of PMMA in the 200-800 nm range, and is compatible with the
2092+
// value given by C. Brizzolari et al.
20872093
std::vector<G4double> ri_energy = {
2088-
optPhotMinE_,
2089-
h_Planck * c_light / (609. * nm), h_Planck * c_light / (589.26 * nm),
2090-
h_Planck * c_light / (550. * nm), h_Planck * c_light / (530. * nm),
2091-
h_Planck * c_light / (500. * nm), h_Planck * c_light / (490. * nm),
2092-
h_Planck * c_light / (481. * nm), h_Planck * c_light / (460. * nm),
2093-
h_Planck * c_light / (435. * nm), h_Planck * c_light / (425. * nm),
2094-
optPhotMaxE_
2094+
h_Planck * c_light / (798.336 * nm), h_Planck * c_light / (768.704 * nm), h_Planck * c_light / (743.524 * nm),
2095+
h_Planck * c_light / (717.238 * nm), h_Planck * c_light / (691.394 * nm), h_Planck * c_light / (666.394 * nm),
2096+
h_Planck * c_light / (646.708 * nm), h_Planck * c_light / (620.457 * nm), h_Planck * c_light / (590.319 * nm),
2097+
h_Planck * c_light / (561.955 * nm), h_Planck * c_light / (534.033 * nm), h_Planck * c_light / (509.456 * nm),
2098+
h_Planck * c_light / (481.792 * nm), h_Planck * c_light / (456.807 * nm), h_Planck * c_light / (430.025 * nm),
2099+
h_Planck * c_light / (402.844 * nm), h_Planck * c_light / (378.005 * nm), h_Planck * c_light / (349.904 * nm),
2100+
h_Planck * c_light / (323.128 * nm), h_Planck * c_light / (302.976 * nm), h_Planck * c_light / (281.672 * nm),
2101+
h_Planck * c_light / (264.309 * nm), h_Planck * c_light / (251.832 * nm), h_Planck * c_light / (241.162 * nm),
2102+
h_Planck * c_light / (230.49 * nm), h_Planck * c_light / (221.945 * nm), h_Planck * c_light / (212.33 * nm),
2103+
h_Planck * c_light / (205.915 * nm), h_Planck * c_light / (200.564 * nm), h_Planck * c_light / (197.347 * nm),
2104+
h_Planck * c_light / (193.06 * nm)
20952105
};
20962106

2097-
G4cout << "rindex=" << rindex << G4endl;
2098-
20992107
std::vector<G4double> rIndex = {
2100-
rindex,
2101-
rindex, rindex, // 609 , 589.26 nm
2102-
rindex, rindex, // 550 , 530 nm
2103-
rindex, rindex, // 500 , 490 nm
2104-
rindex, rindex, // 481 , 460 nm
2105-
rindex, rindex, // 435 , 425 nm
2106-
rindex
2108+
1.48553, 1.48566, 1.48547, 1.48616, 1.48632, 1.48729, 1.48803, 1.48882, 1.4906, 1.4919,
2109+
1.4934, 1.49487, 1.49658, 1.49951, 1.50198, 1.50595, 1.51027, 1.51597, 1.5241, 1.53162,
2110+
1.54188, 1.5509, 1.56154, 1.5735, 1.58632, 1.59915, 1.61453, 1.6265, 1.63846, 1.64786,
2111+
1.65983
21072112
};
21082113
mpt->AddProperty("RINDEX", ri_energy, rIndex);
21092114

@@ -2379,26 +2384,31 @@ namespace opticalprops {
23792384
G4MaterialPropertiesTable* mpt = new G4MaterialPropertiesTable();
23802385

23812386
// REFRACTIVE INDEX
2387+
// In C. Brizzolari et al 2021 JINST 16 P09027 (iopscience.iop.org/article/10.1088/1748-0221/16/09/P09027)
2388+
// they give the 1.502 value for the refractive index of the G2P bar. I could not find any detail there
2389+
// on how they measured it, p.e. which wavelength was the light that they used in order to measure this
2390+
// r. index. This is why, I extracted the data below from https://doi.org/10.1016/j.colsurfa.2022.130018 ,
2391+
// where they measured the refraction index of PMMA in the 200-800 nm range, and is compatible with the
2392+
// value given by C. Brizzolari et al.
23822393
std::vector<G4double> ri_energy = {
2383-
optPhotMinE_,
2384-
h_Planck * c_light / (609. * nm), h_Planck * c_light / (589.26 * nm),
2385-
h_Planck * c_light / (550. * nm), h_Planck * c_light / (530. * nm),
2386-
h_Planck * c_light / (500. * nm), h_Planck * c_light / (490. * nm),
2387-
h_Planck * c_light / (481. * nm), h_Planck * c_light / (460. * nm),
2388-
h_Planck * c_light / (435. * nm), h_Planck * c_light / (425. * nm),
2389-
optPhotMaxE_
2394+
h_Planck * c_light / (798.336 * nm), h_Planck * c_light / (768.704 * nm), h_Planck * c_light / (743.524 * nm),
2395+
h_Planck * c_light / (717.238 * nm), h_Planck * c_light / (691.394 * nm), h_Planck * c_light / (666.394 * nm),
2396+
h_Planck * c_light / (646.708 * nm), h_Planck * c_light / (620.457 * nm), h_Planck * c_light / (590.319 * nm),
2397+
h_Planck * c_light / (561.955 * nm), h_Planck * c_light / (534.033 * nm), h_Planck * c_light / (509.456 * nm),
2398+
h_Planck * c_light / (481.792 * nm), h_Planck * c_light / (456.807 * nm), h_Planck * c_light / (430.025 * nm),
2399+
h_Planck * c_light / (402.844 * nm), h_Planck * c_light / (378.005 * nm), h_Planck * c_light / (349.904 * nm),
2400+
h_Planck * c_light / (323.128 * nm), h_Planck * c_light / (302.976 * nm), h_Planck * c_light / (281.672 * nm),
2401+
h_Planck * c_light / (264.309 * nm), h_Planck * c_light / (251.832 * nm), h_Planck * c_light / (241.162 * nm),
2402+
h_Planck * c_light / (230.49 * nm), h_Planck * c_light / (221.945 * nm), h_Planck * c_light / (212.33 * nm),
2403+
h_Planck * c_light / (205.915 * nm), h_Planck * c_light / (200.564 * nm), h_Planck * c_light / (197.347 * nm),
2404+
h_Planck * c_light / (193.06 * nm)
23902405
};
23912406

2392-
G4cout << "rindex=" << rindex << G4endl;
2393-
23942407
std::vector<G4double> rIndex = {
2395-
rindex,
2396-
rindex, rindex, // 609 , 589.26 nm
2397-
rindex, rindex, // 550 , 530 nm
2398-
rindex, rindex, // 500 , 490 nm
2399-
rindex, rindex, // 481 , 460 nm
2400-
rindex, rindex, // 435 , 425 nm
2401-
rindex
2408+
1.48553, 1.48566, 1.48547, 1.48616, 1.48632, 1.48729, 1.48803, 1.48882, 1.4906, 1.4919,
2409+
1.4934, 1.49487, 1.49658, 1.49951, 1.50198, 1.50595, 1.51027, 1.51597, 1.5241, 1.53162,
2410+
1.54188, 1.5509, 1.56154, 1.5735, 1.58632, 1.59915, 1.61453, 1.6265, 1.63846, 1.64786,
2411+
1.65983
24022412
};
24032413
mpt->AddProperty("RINDEX", ri_energy, rIndex);
24042414

0 commit comments

Comments
 (0)