1 #ifndef __JPHYSICS_JPHYSICSSUPPORTKIT__ 
    2 #define __JPHYSICS_JPHYSICSSUPPORTKIT__ 
   16 namespace JPP { 
using namespace JPHYSICS; }
 
   48       const double p    = sqrt((E + M) * (E - M));
 
   49       const double beta = p / 
E;
 
   51       return THETA_MCS * Q * sqrt(x/X0) * (1.0 + 0.038*
log(x/X0)) / (beta*p);
 
   82     const double a0 = (1.0 - g*g) / (4*
PI);
 
   83     const double y  =  1.0 + g*g - 2.0*g*
x;
 
   85     return a0 / (y*sqrt(y));
 
   97     static const double g = 0.924;
 
  114     const double a0 = 1.0 / (1.0 + a/3.0) / (4*
PI);
 
  116     return a0 * (1.0 + a*x*
x); 
 
  138   inline double f4(
const double x)
 
  140     static const double g1 = 0.77;
 
  141     static const double g2 = 0.00;
 
  142     static const double f  = 1.00;
 
  156     static const double g = 0.924;
 
  157     static const double f = 0.17;
 
  179       (*this)[  0.100] = 1.767e+03;
 
  180       (*this)[  0.126] = 1.296e+03;
 
  181       (*this)[  0.158] = 9.502e+02;
 
  182       (*this)[  0.200] = 6.991e+02;
 
  183       (*this)[  0.251] = 5.140e+02;
 
  184       (*this)[  0.316] = 3.764e+02;
 
  185       (*this)[  0.398] = 2.763e+02;
 
  186       (*this)[  0.501] = 2.188e+02;
 
  187       (*this)[  0.631] = 1.444e+02;
 
  188       (*this)[  0.794] = 1.022e+02;
 
  189       (*this)[  1.000] = 7.161e+01;
 
  190       (*this)[  1.259] = 4.958e+01;
 
  191       (*this)[  1.585] = 3.395e+01;
 
  192       (*this)[  1.995] = 2.281e+01;
 
  193       (*this)[  2.512] = 1.516e+01;
 
  194       (*this)[  3.162] = 1.002e+01;
 
  195       (*this)[  3.981] = 6.580e+00;
 
  196       (*this)[  5.012] = 4.295e+00;
 
  197       (*this)[  6.310] = 2.807e+00;
 
  198       (*this)[  7.943] = 1.819e+00;
 
  199       (*this)[ 10.000] = 1.153e+00;
 
  200       (*this)[ 15.000] = 4.893e-01;
 
  201       (*this)[ 20.000] = 2.444e-01;
 
  202       (*this)[ 25.000] = 1.472e-01;
 
  203       (*this)[ 30.000] = 8.609e-02;
 
  204       (*this)[ 35.000] = 5.931e-02;
 
  205       (*this)[ 40.000] = 4.210e-02;
 
  206       (*this)[ 45.000] = 3.067e-02;
 
  207       (*this)[ 50.000] = 2.275e-02;
 
  208       (*this)[ 55.000] = 1.699e-02;
 
  209       (*this)[ 60.000] = 1.313e-02;
 
  210       (*this)[ 65.000] = 1.046e-02;
 
  211       (*this)[ 70.000] = 8.488e-03;
 
  212       (*this)[ 75.000] = 6.976e-03;
 
  213       (*this)[ 80.000] = 5.842e-03;
 
  214       (*this)[ 85.000] = 4.953e-03;
 
  215       (*this)[ 90.000] = 4.292e-03;
 
  216       (*this)[ 95.000] = 3.782e-03;
 
  217       (*this)[100.000] = 3.404e-03;
 
  218       (*this)[105.000] = 3.116e-03;
 
  219       (*this)[110.000] = 2.912e-03;
 
  220       (*this)[115.000] = 2.797e-03;
 
  221       (*this)[120.000] = 2.686e-03;
 
  222       (*this)[125.000] = 2.571e-03;
 
  223       (*this)[130.000] = 2.476e-03;
 
  224       (*this)[135.000] = 2.377e-03;
 
  225       (*this)[140.000] = 2.329e-03;
 
  226       (*this)[145.000] = 2.313e-03;
 
  227       (*this)[150.000] = 2.365e-03;
 
  228       (*this)[155.000] = 2.506e-03;
 
  229       (*this)[160.000] = 2.662e-03;
 
  230       (*this)[165.000] = 2.835e-03;
 
  231       (*this)[170.000] = 3.031e-03;
 
  232       (*this)[175.000] = 3.092e-03;
 
  233       (*this)[180.000] = 3.154e-03;
 
  255         a = acos(x) * 180.0 / 
PI;
 
  257       if      (a >= this->getXmax()) 
 
  258         return this->rbegin()->getY();
 
  259       else if (a <= this->getXmin()) 
 
  260         return this-> begin()->getY();
 
  292       static const double Vs = 0.0075;
 
  293       static const double Vl = 0.0075;
 
  294       static const double bw = 0.0017;
 
  295       static const double bs = 1.340;
 
  296       static const double bl = 0.312;
 
  298       const double x = 550.0/lambda;
 
  346       (*this)[0.200e3]  =  3.07;
 
  347       (*this)[0.205e3]  =  2.53;
 
  348       (*this)[0.210e3]  =  1.99;
 
  349       (*this)[0.215e3]  =  1.65;
 
  350       (*this)[0.220e3]  =  1.31;
 
  351       (*this)[0.225e3]  =  1.1185;
 
  352       (*this)[0.230e3]  =  0.927;
 
  353       (*this)[0.235e3]  =  0.8235;
 
  354       (*this)[0.240e3]  =  0.72;
 
  355       (*this)[0.245e3]  =  0.6395;
 
  356       (*this)[0.250e3]  =  0.559;
 
  357       (*this)[0.255e3]  =  0.508;
 
  358       (*this)[0.260e3]  =  0.457;
 
  359       (*this)[0.265e3]  =  0.415;
 
  360       (*this)[0.270e3]  =  0.373;
 
  361       (*this)[0.275e3]  =  0.3305;
 
  362       (*this)[0.280e3]  =  0.288;
 
  363       (*this)[0.285e3]  =  0.2515;
 
  364       (*this)[0.290e3]  =  0.215;
 
  365       (*this)[0.295e3]  =  0.178;
 
  366       (*this)[0.300e3]  =  0.141;
 
  367       (*this)[0.305e3]  =  0.123;
 
  368       (*this)[0.310e3]  =  0.105;
 
  369       (*this)[0.315e3]  =  0.0947;
 
  370       (*this)[0.320e3]  =  0.0844;
 
  371       (*this)[0.325e3]  =  0.0761;
 
  372       (*this)[0.330e3]  =  0.0678;
 
  373       (*this)[0.335e3]  =  0.06195;
 
  374       (*this)[0.340e3]  =  0.0325;
 
  375       (*this)[0.345e3]  =  0.02645;
 
  376       (*this)[0.350e3]  =  0.0204;
 
  377       (*this)[0.355e3]  =  0.018;
 
  378       (*this)[0.360e3]  =  0.0156;
 
  379       (*this)[0.365e3]  =  0.0135;
 
  380       (*this)[0.370e3]  =  0.0114;
 
  381       (*this)[0.375e3]  =  0.011385;
 
  382       (*this)[0.380e3]  =  0.01137;
 
  383       (*this)[0.385e3]  =  0.00941;
 
  384       (*this)[0.390e3]  =  0.00851;
 
  385       (*this)[0.395e3]  =  0.00813;
 
  386       (*this)[0.400e3]  =  0.00663;
 
  387       (*this)[0.405e3]  =  0.0053;
 
  388       (*this)[0.410e3]  =  0.00473;
 
  389       (*this)[0.415e3]  =  0.00444;
 
  390       (*this)[0.420e3]  =  0.00454;
 
  391       (*this)[0.425e3]  =  0.00478;
 
  392       (*this)[0.430e3]  =  0.00495;
 
  393       (*this)[0.435e3]  =  0.0053;
 
  394       (*this)[0.440e3]  =  0.00635;
 
  395       (*this)[0.445e3]  =  0.00751;
 
  396       (*this)[0.450e3]  =  0.00922;
 
  397       (*this)[0.455e3]  =  0.00962;
 
  398       (*this)[0.460e3]  =  0.00979;
 
  399       (*this)[0.465e3]  =  0.01011;
 
  400       (*this)[0.470e3]  =  0.0106;
 
  401       (*this)[0.475e3]  =  0.0114;
 
  402       (*this)[0.480e3]  =  0.0127;
 
  403       (*this)[0.485e3]  =  0.0136;
 
  404       (*this)[0.490e3]  =  0.015;
 
  405       (*this)[0.495e3]  =  0.0173;
 
  406       (*this)[0.500e3]  =  0.0204;
 
  407       (*this)[0.505e3]  =  0.0256;
 
  408       (*this)[0.510e3]  =  0.0325;
 
  409       (*this)[0.515e3]  =  0.0396;
 
  410       (*this)[0.520e3]  =  0.0409;
 
  411       (*this)[0.525e3]  =  0.0417;
 
  412       (*this)[0.530e3]  =  0.0434;
 
  413       (*this)[0.535e3]  =  0.0452;
 
  414       (*this)[0.540e3]  =  0.0474;
 
  415       (*this)[0.545e3]  =  0.0511;
 
  416       (*this)[0.550e3]  =  0.0565;
 
  417       (*this)[0.555e3]  =  0.0596;
 
  418       (*this)[0.560e3]  =  0.0619;
 
  419       (*this)[0.565e3]  =  0.0642;
 
  420       (*this)[0.570e3]  =  0.0695;
 
  421       (*this)[0.575e3]  =  0.0772;
 
  422       (*this)[0.580e3]  =  0.0896;
 
  423       (*this)[0.585e3]  =  0.11;
 
  424       (*this)[0.590e3]  =  0.1351;
 
  425       (*this)[0.595e3]  =  0.1672;
 
  426       (*this)[0.600e3]  =  0.2224;
 
  427       (*this)[0.605e3]  =  0.2577;
 
  428       (*this)[0.610e3]  =  0.2644;
 
  429       (*this)[0.615e3]  =  0.2678;
 
  430       (*this)[0.620e3]  =  0.2755;
 
  431       (*this)[0.625e3]  =  0.2834;
 
  432       (*this)[0.630e3]  =  0.2916;
 
  433       (*this)[0.635e3]  =  0.3012;
 
  434       (*this)[0.640e3]  =  0.3108;
 
  435       (*this)[0.645e3]  =  0.325;
 
  436       (*this)[0.650e3]  =  0.34;
 
  437       (*this)[0.655e3]  =  0.371;
 
  438       (*this)[0.660e3]  =  0.41;
 
  439       (*this)[0.665e3]  =  0.429;
 
  440       (*this)[0.670e3]  =  0.439;
 
  441       (*this)[0.675e3]  =  0.448;
 
  442       (*this)[0.680e3]  =  0.465;
 
  443       (*this)[0.685e3]  =  0.486;
 
  444       (*this)[0.690e3]  =  0.516;
 
  445       (*this)[0.695e3]  =  0.559;
 
  446       (*this)[0.700e3]  =  0.624;
 
double f4(const double x)
Model specific function to describe light scattering in water (f4). 
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
JMobley(const double lambda)
Constructor. 
 
static const JAbsorptionLengthOfPureWater getAbsorptionLengthOfPureWater
Function object for absorption length of pure water. 
 
double operator()(const double lambda) const 
Absorption length of pure water. 
 
double operator()(const double x) const 
Measurement of light scattering in water. 
 
double Lis_large
inverse scattering length due to large particles [m^-1] 
 
static const double MASS_MUON
muon mass [GeV] 
 
o $QUALITY_ROOT d $DEBUG!JPlot1D f
 
double rayleigh(const double a, const double x)
Auxiliary method to describe light scattering in water (Rayleigh). 
 
double Lis_small
inverse scattering length due to small particles [m^-1] 
 
double getThetaMCS(const double E, const double x, const double X0, const double M, const double Q)
Get multiple Coulomb scattering angle. 
 
Absorption length of pure water. 
 
static const JPetzhold petzhold
Function object for measurement of light scattering in water. 
 
T pow(const T &x, const double y)
Power . 
 
static const double PI
Mathematical constants. 
 
static const double THETA_MCS
Multiple Coulomb scattering constant [GeV]. 
 
JAbsorptionLengthOfPureWater()
Default constructor. 
 
Measurement of light scattering in water. 
 
then cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiif[[!-f $DETECTOR]];then JEditDetector-a $DETECTOR_INITIAL-s"-1 addz -6.9"-o $DETECTOR--!eval`JPrintDetector-a $DETECTOR-O SUMMARY`for STRING in ${STRINGS[*]};do set_variable MODULE`getModule-a $DETECTOR-L"$STRING 0"`JEditDetector-a $DETECTOR-M"$MODULE setz -2.9"-o $DETECTOR--!donefiif[[!-f $TRIPOD]];then cp-p $TRIPOD_INITIAL $TRIPODfiJAcoustics.sh $DETECTOR_IDcat > acoustics_trigger_parameters txt<< EOFQ=0.0;TMax_s=0.020;quantile=0.9;numberOfHits=90;EOFJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]INPUT_FILES=(`ls KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_0 *${^RUNS}_event.root`) cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$DETECTOR $WORKDIR cp-p $HOMEDIR/$TRIPOD $WORKDIR cp-p $HOMEDIR/${^INPUT_FILES}$WORKDIR cp-p $HOMEDIR/{acoustics_fit_parameters, acoustics_trigger_parameters, disable, hydrophone, mechanics, sound_velocity, tripod, waveform}.txt $WORKDIRfisource $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.shJConvertDetectorFormat-a $DETECTOR-o $HOMEDIR/detector_backup.datxJDetachPMTs-a $DETECTOR-o $DETECTORtimer_startinitialise stage_1B 0.002 0.1 0 > &stage log
 
Auxiliary data structure for scattering lengths of deep-sea water. 
 
double Lis_pure
inverse scattering length due to pure water [m^-1] 
 
double p00075(const double x)
Model specific function to describe light scattering in water (p00075). 
 
double henyey_greenstein(const double g, const double x)
Auxiliary method to describe light scattering in water (Henyey-Greenstein). 
 
static const double X0_WATER_M
Radiation length pure water [m]. 
 
JPetzhold()
Default constructor. 
 
Double_t g1(const Double_t x)
Function.