MieModelOff.cc
Go to the documentation of this file.
1 
10 #include <iostream>
11 #include <string>
12 #include <sstream>
13 #include <vector>
14 
15 #include <det/Detector.h>
16 #include <atm/MieModelOff.h>
17 #include <atm/ScatteringResult.h>
18 #include <atm/AttenuationResult.h>
19 #include <utl/TabulatedFunctionErrors.h>
20 
21 #include <fwk/CentralConfig.h>
22 #include <fwk/CoordinateSystemRegistry.h>
23 
24 #include <utl/Point.h>
25 #include <utl/AugerUnits.h>
26 #include <utl/Reader.h>
27 #include <utl/ErrorLogger.h>
28 #include <utl/Vector.h>
29 
30 #include <utl/ReferenceEllipsoid.h>
31 
32 using namespace utl;
33 using namespace atm;
34 using namespace fwk;
35 using namespace std;
36 
37 
39 MieModelOff::EvaluateMieScattering(const utl::Point& /*xA*/, const utl::Point& /*xB*/,
40  const double angle, const double /*distance*/,
41  const std::vector<double>& wLength)
42  const
43 {
45  for (std::vector<double>::const_iterator it = wLength.begin();
46  it != wLength.end(); ++it)
47  frac.PushBack(*it, 0,0,0);
48 
49  return ScatteringResult(frac, angle);
50 }
51 
52 
54 MieModelOff::EvaluateMieScattering(const utl::Point& xA, const utl::Point& xB,
55  const double angle, const double distance,
56  const AttenuationResult& mieAttenuation)
57  const
58 {
59  // This method just delegates because the scattering disregards the
60  // attenuation for "Off".
61  const TabulatedFunctionErrors& attenuation = mieAttenuation.GetTransmissionFactor();
62  vector<double> wLength(attenuation.GetNPoints());
63  std::copy(attenuation.XBegin(), attenuation.XEnd(), wLength.begin());
64  return EvaluateMieScattering(xA, xB, angle, distance, wLength);
65 }
66 
67 
69 MieModelOff::EvaluateMieAttenuation(const utl::Point& /*xInit*/, const utl::Point& /*xFinal*/,
70  const std::vector<double>& wLength)
71  const
72 {
73  utl::TabulatedFunctionErrors attenuation;
74  for (std::vector<double>::const_iterator it = wLength.begin();
75  it != wLength.end(); ++it)
76  attenuation.PushBack(*it, 0,1,0);
77 
78  return AttenuationResult(attenuation);
79 }
80 
81 
82 // Configure (x)emacs for this file ...
83 // Local Variables:
84 // mode: c++
85 // compile-command: "make -C .. -k"
86 // End:
unsigned int GetNPoints() const
Point object.
Definition: Point.h:32
const utl::TabulatedFunctionErrors & GetTransmissionFactor() const
Transmission factor.
ArrayIterator XEnd()
end of array of X
Class holding the output of the ScatteringResult function.
void PushBack(const double x, const double xErr, const double y, const double yErr)
ArrayIterator XBegin()
begin of array of X
Class describing the Atmospheric attenuation.

, generated on Tue Sep 26 2023.