FdCherenkovSubtracter.cc
Go to the documentation of this file.
1 
10 #include "FdCherenkovSubtracter.h"
11 
12 #include <utl/ErrorLogger.h>
13 #include <utl/MathConstants.h>
14 #include <utl/Vector.h>
15 #include <utl/PhysicalConstants.h>
16 #include <utl/TabulatedFunctionErrors.h>
17 
18 #include <evt/Event.h>
19 #include <evt/ShowerRecData.h>
20 #include <evt/ShowerFRecData.h>
21 
22 #include <fevt/FEvent.h>
23 #include <fevt/Eye.h>
24 #include <fevt/Telescope.h>
25 #include <fevt/EyeRecData.h>
26 
27 #include <det/Detector.h>
28 #include <atm/Atmosphere.h>
29 #include <atm/AttenuationResult.h>
30 
31 #include <fdet/Eye.h>
32 #include <fdet/Pixel.h>
33 #include <fdet/Channel.h>
34 
35 #include <utl/Vector.h>
36 
37 using namespace FdCherenkovSubtracterOG;
38 using namespace fwk;
39 using namespace utl;
40 using namespace evt;
41 using namespace fevt;
42 using namespace det;
43 using namespace fdet;
44 using namespace std;
45 using namespace atm;
46 
47 
49 
51  return eSuccess;
52 }
53 
55  return eSuccess;
56 }
57 
59 
60  if (!event.HasFEvent()) return eSuccess;
61 
62  FEvent::EyeIterator eyeIter;
63 
64  for (eyeIter= event.GetFEvent().EyesBegin();
65  eyeIter != event.GetFEvent().EyesEnd();
66  ++eyeIter){
67 
68  fevt::Eye& eye = *eyeIter;
69 
72  SubtractCherenkov(eye);
73 
74 
75  } // end loop over eyes
76 
77  return eSuccess;
78 }
79 
85 
86  TabulatedFunctionErrors& totalFlux =
88 
89  TabulatedFunctionErrors& fluoFlux =
91 
92  TabulatedFunctionErrors& directCherenkovFlux =
94 
95  TabulatedFunctionErrors& rayscattCherenkovFlux =
97 
98  TabulatedFunctionErrors& miescattCherenkovFlux =
100 
101 
102  for (unsigned int i=0; i<totalFlux.GetNPoints(); ++i) {
103 
104  fluoFlux.GetY(i) = totalFlux.GetY(i)
105  - directCherenkovFlux.GetY(i)
106  - rayscattCherenkovFlux.GetY(i)
107  - miescattCherenkovFlux.GetY(i);
108 
109  }
110 
111 } // end of SubtractCherenkov
112 
113 
114 // Configure (x)emacs for this file ...
115 // Local Variables:
116 // mode:c++
117 // compile-command: "make -C .. -k"
118 // End:
unsigned int GetNPoints() const
bool HasLightFlux(const FdConstants::LightSource source=FdConstants::eTotal) const
Check that light profile for source /par source is present.
Definition: EyeRecData.h:297
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Fluorescence Detector Eye Event.
Definition: FEvent/Eye.h:29
bool HasFEvent() const
boost::filter_iterator< ComponentSelector, AllEyeIterator > EyeIterator
selective Eye iterators
Definition: FEvent.h:55
EyeIterator EyesBegin(const ComponentSelector::Status status)
Definition: FEvent.h:58
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
const double & GetY(const unsigned int idx) const
fevt::FEvent & GetFEvent()
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
void SubtractCherenkov(fevt::Eye &eye)
Sutract the Cherenkov light components.
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
utl::TabulatedFunctionErrors & GetLightFlux(const FdConstants::LightSource source=fevt::FdConstants::eTotal)
Light flux at diaphragm, photons/m^2 versus time in ns.
Definition: EyeRecData.h:286
fevt::EyeRecData & GetRecData()
Reconstructed data for this eye.
Definition: FEvent/Eye.cc:130

, generated on Tue Sep 26 2023.