1 #ifndef EICG4dRICHConfig_HH
2 #define EICG4dRICHConfig_HH
4 #include <G4GenericMessenger.hh>
5 #include <G4SystemOfUnits.hh>
70 static G4GenericMessenger *Messenger;
75 Messenger =
new G4GenericMessenger(
this,
"/EICG4dRICH/");
109 Messenger->DeclareProperty(
"ModelFile",
model_file,
"Full path of the drich model text data");
111 auto cmd0 = Messenger->DeclareProperty(
113 "Aerogel Radiator Refractive Index at reference wavelength");
114 cmd0.SetParameterName(
"aerogeln",
true);
115 cmd0.SetRange(
"aerogeln>1.0");
116 cmd0.SetDefaultValue(
"1.03");
118 auto cmd1 = Messenger->DeclareProperty(
119 "GasRefractiveIndex",
gas_n,
120 "Gas Radiator Refractive Index at reference wavelength");
121 cmd1.SetParameterName(
"gasn",
true);
122 cmd1.SetRange(
"gasn>1.0");
123 cmd1.SetDefaultValue(
"1.0008");
125 auto cmd2 = Messenger->DeclarePropertyWithUnit(
126 "ReferenceWavelength",
"nm",
wavelength_ref,
"Reference wavelength");
127 cmd2.SetParameterName(
"wlref",
true);
128 cmd2.SetRange(
"wlref>0");
129 cmd2.SetDefaultValue(
"400.e-9");
131 auto cmd3 = Messenger->DeclarePropertyWithUnit(
133 "Wavelength threshold of acrylic filter");
134 cmd3.SetParameterName(
"wlfil",
true);
135 cmd3.SetRange(
"wlfil>0.");
136 cmd3.SetDefaultValue(
"300.e-9");
138 auto cmd4 = Messenger->DeclareProperty(
140 "Aerogel Optical Model for Refractive Index (0:Vorobiev, 1:Sellmeier "
141 "CLAS12, 2: LHCb, 3: scale exp. points");
142 cmd4.SetParameterName(
"aerOptMod",
true);
143 cmd4.SetDefaultValue(3);
155 #endif // EICG4dRICHConfig_HH