Jpp 20.0.0-195-g190c9e876
the software that should make you happy
Loading...
Searching...
No Matches
KM3NET Namespace Reference

Name space for KM3NeT. More...

Functions

const JK40RatesgetK40Rates ()
 Get K40 rates.
 
double getAmbientPressure ()
 Get ambient pressure.
 
double getPhotocathodeArea ()
 Get photo-cathode area of KM3NeT PMT.
 
double getAbsorptionLength (const double lambda)
 Get absorption length.
 
double getScatteringLength (const double lambda)
 Get scattering length.
 
double getScatteringProbability (const double x)
 Function to describe light scattering in water.
 
double getAngularAcceptance (const double x)
 Get angular acceptance of KM3NeT PMT.
 
double getQE (const double lambda)
 Get quantum efficiency of KM3NeT PMT.
 
double getPhotocathodeArea2D (const double x, const double lambda)
 Get effective photo-cathode area of PMT.
 
void setClock ()
 Set clock.
 

Detailed Description

Name space for KM3NeT.

Function Documentation

◆ getK40Rates()

const JK40Rates & KM3NET::getK40Rates ( )
inline

Get K40 rates.

This method returns an object with default values.
The singles rate is based on the value quoted on slide 13 of this presentation.
Multiplicity rates are obtatined with $JPP_DIR/examples/JCalibrate/JOMGsim.sh type A processing,
see $JPP_DIR/examples/JCalibrate/README.md
See also KM3NeT internal note.

Returns
K40 rates [Hz]

Definition at line 39 of file KM3NeT.hh.

40 {
41 static const JK40Rates rates_Hz(6200, { 593.39, 55.22, 6.07, 0.60 });
42
43 return rates_Hz;
44 }
Auxiliary class for K40 rates.
Definition JK40Rates.hh:41

◆ getAmbientPressure()

double KM3NET::getAmbientPressure ( )
inline

Get ambient pressure.

Returns
pressure [Atm]

Definition at line 52 of file KM3NeT.hh.

53 {
54 return 240.0; // ambient pressure [Atm]
55 }

◆ getPhotocathodeArea()

double KM3NET::getPhotocathodeArea ( )
inline

Get photo-cathode area of KM3NeT PMT.

Returns
photo-cathode area [m^2]

Definition at line 63 of file KM3NeT.hh.

64 {
65 return 70.768818 * 1.0e-4; // photo-cathode area [m^2]
66 }

◆ getAbsorptionLength()

double KM3NET::getAbsorptionLength ( const double lambda)
inline

Get absorption length.

Parameters
lambdawavelength of light [nm]
Returns
absorption length [m]

Definition at line 75 of file KM3NeT.hh.

76 {
77 static JPolint1Function1D_t f1;
78
79 if (f1.empty()) {
80
81 f1[290] = 0.0;
82 f1[310] = 11.9;
83 f1[330] = 16.4;
84 f1[350] = 20.6;
85 f1[375] = 29.5;
86 f1[412] = 48.5;
87 f1[440] = 67.5;
88 f1[475] = 59.0;
89 f1[488] = 55.1;
90 f1[510] = 26.1;
91 f1[532] = 19.9;
92 f1[555] = 14.7;
93 f1[650] = 2.8;
94 f1[676] = 2.3;
95 f1[715] = 1.0;
96 f1[720] = 0.0;
97
98 f1.compile();
99
100 f1.setExceptionHandler(new JPolint1Function1D_t::JDefaultResult(0.0));
101 }
102
103 return f1(lambda);
104 }
void setExceptionHandler(const JSupervisor &supervisor)
Set the supervisor for handling of exceptions.
Type definition of a 1st degree polynomial interpolation with result type double.

◆ getScatteringLength()

double KM3NET::getScatteringLength ( const double lambda)
inline

Get scattering length.

Use the Kopelevich model for spectral volume scattering functions.
The model separates the contributions by:

  • pure_sea: pure sea water;
  • small_par: 'small' particles (size < 1 micro meter);
  • large_par: 'large' particles (size > 1 micro meter). Values are taken from reference C.D. Mobley "Light and Water", ISBN 0-12-502750-8, pag. 119.
Parameters
lambdawavelength of light [nm]
Returns
scattering length [m]

Definition at line 121 of file KM3NeT.hh.

122 {
123 static const double Vs = 0.0075;
124 static const double Vl = 0.0075;
125 static const double bw = 0.0017;
126 static const double bs = 1.340;
127 static const double bl = 0.312;
128
129 const double x = 550.0/lambda;
130
131 const double pure_sea = bw * pow(x, 4.3);
132 const double small_par = bs * Vs * pow(x, 1.7);
133 const double large_par = bl * Vl * pow(x, 0.3);
134
135 return 1.0 / (pure_sea + small_par + large_par);
136 }

◆ getScatteringProbability()

double KM3NET::getScatteringProbability ( const double x)
inline

Function to describe light scattering in water.

Parameters
xcosine scattering angle
Returns
probability

Definition at line 145 of file KM3NeT.hh.

146 {
147 return JPHYSICS::p00075(x);
148 }
double p00075(const double x)
Model specific function to describe light scattering in water (p00075).

◆ getAngularAcceptance()

double KM3NET::getAngularAcceptance ( const double x)
inline

Get angular acceptance of KM3NeT PMT.

Parameters
xcosine of angle of incidence
Returns
probability

Definition at line 157 of file KM3NeT.hh.

158 {
159 static JGridPolint1Function1D_t f1;
160
161 if (f1.empty()) {
162
163 f1[-1.00] = 1.0000;
164 f1[-0.95] = 0.8301;
165 f1[-0.90] = 0.7357;
166 f1[-0.85] = 0.6619;
167 f1[-0.80] = 0.5998;
168 f1[-0.75] = 0.5410;
169 f1[-0.70] = 0.4874;
170 f1[-0.65] = 0.4387;
171 f1[-0.60] = 0.3947;
172 f1[-0.55] = 0.3544;
173 f1[-0.50] = 0.3190;
174 f1[-0.45] = 0.2777;
175 f1[-0.40] = 0.2445;
176 f1[-0.35] = 0.2101;
177 f1[-0.30] = 0.1818;
178 f1[-0.25] = 0.1535;
179 f1[-0.20] = 0.1276;
180 f1[-0.15] = 0.1025;
181 f1[-0.10] = 0.0788;
182 f1[-0.05] = 0.0586;
183 f1[0.00] = 0.0400;
184 f1[0.05] = 0.0233;
185 f1[0.10] = 0.0104;
186 f1[0.15] = 0.0039;
187 f1[0.20] = 0.0017;
188 f1[0.25] = 0.0000;
189
190 f1.compile();
191
192 f1.setExceptionHandler(new JGridPolint1Function1D_t::JDefaultResult(0.0));
193 }
194
195 return f1(x);
196 }
Type definition of a 1st degree polynomial interpolation based on a JGridCollection with result type ...

◆ getQE()

double KM3NET::getQE ( const double lambda)
inline

Get quantum efficiency of KM3NeT PMT.

Note that the QE includes absorption in glass and gel as well as the collection efficiency.

Parameters
lambdawavelength of photon [nm]
Returns
quantum efficiency

Definition at line 207 of file KM3NeT.hh.

208 {
209 static JGridPolint1Function1D_t f1;
210 static const double cola = 1.0; // collection efficiency
211
212 if (f1.empty()) {
213
214 f1[290] = 0.000;
215 f1[300] = 0.000;
216 f1[310] = 1.860;
217 f1[320] = 7.721;
218 f1[330] = 15.912;
219 f1[340] = 21.981;
220 f1[350] = 24.729;
221 f1[360] = 26.476;
222 f1[370] = 27.525;
223 f1[380] = 27.213;
224 f1[390] = 28.295;
225 f1[400] = 27.973;
226 f1[410] = 27.435;
227 f1[420] = 26.905;
228 f1[430] = 26.527;
229 f1[440] = 25.978;
230 f1[450] = 25.203;
231 f1[460] = 23.898;
232 f1[470] = 22.252;
233 f1[480] = 20.827;
234 f1[490] = 19.997;
235 f1[500] = 19.326;
236 f1[510] = 18.546;
237 f1[520] = 16.584;
238 f1[530] = 13.321;
239 f1[540] = 10.680;
240 f1[550] = 9.096;
241 f1[560] = 7.924;
242 f1[570] = 7.131;
243 f1[580] = 6.252;
244 f1[590] = 5.373;
245 f1[600] = 4.577;
246 f1[610] = 3.738;
247 f1[620] = 3.111;
248 f1[630] = 2.442;
249 f1[640] = 1.947;
250 f1[650] = 1.578;
251 f1[660] = 1.270;
252 f1[670] = 0.907;
253 f1[680] = 0.626;
254 f1[690] = 0.435;
255 f1[700] = 0.252;
256 f1[710] = 0.000;
257 f1[720] = 0.000;
258
259 f1.compile();
260
261 f1.setExceptionHandler(new JGridPolint1Function1D_t::JDefaultResult(0.0));
262 }
263
264 return f1(lambda) * 0.01 * cola;
265 }

◆ getPhotocathodeArea2D()

double KM3NET::getPhotocathodeArea2D ( const double x,
const double lambda )
inline

Get effective photo-cathode area of PMT.

Parameters
xcosine of angle of incidence
lambdawavelength of photon [nm]
Returns
photo-cathode area [m^2]

Definition at line 275 of file KM3NeT.hh.

276 {
277 return getPhotocathodeArea() * getQE(lambda) * getAngularAcceptance(x);
278 }
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
Definition JDrawLED.cc:68

◆ setClock()

void KM3NET::setClock ( )
inline

Set clock.

Definition at line 314 of file JDAQClock.hh.

315 {
317 }
Auxiliary class to set DAQ system clock parameters.
Definition JDAQClock.hh:27