ReadLidarLL.cc
Go to the documentation of this file.
1 #include <sstream>
2 
3 #include "ReadLidarLL.h"
4 #include <utl/ErrorLogger.h>
5 
6 #include <evt/Event.h>
7 #include <det/Detector.h>
8 #include <utl/TimeStamp.h>
9 
10 #include <atm/LidarDB.h>
11 #include <atm/LidarZone.h>
12 
13 using namespace std;
14 using namespace utl;
15 using namespace fwk;
16 using namespace det;
17 using namespace atm;
18 
19 using namespace ReadLidarLLNS;
20 
21 ReadLidarLL::ReadLidarLL(){}
22 
23 ReadLidarLL::~ReadLidarLL(){}
24 
26  //
27  //
28  INFO("ReadLidarLL::Init()");
29  return eSuccess;
30 }
31 
32 VModule::ResultFlag ReadLidarLL::Run(evt::Event& event){
33  //
34  //
35  INFO("ReadLidarLL::Run()");
36 
37  Detector& det = Detector::GetInstance();
38 
39  // Set detector time to something .
40  //
41  det.Update(TimeStamp(824428814));
42 
43  // Retrieve the low-level aerosol DB interface
44  //
45  const LidarDB& lidar = det.GetAtmosphere().GetLidarDB();
46 
47  // Iterate over all the zones found in the db
48  //
49  for (LidarDB::ZoneIterator zIt = lidar.ZonesBegin() ;
50  zIt != lidar.ZonesEnd() ; ++zIt){
51 
52  cout << "Got zone : " << zIt->GetName() << endl;
53  cout << " with coordinates : " << zIt->GetNorthing()/m << "N, " << zIt->GetEasting()/m << " E " << endl;
54 
55  cout << "cloud coverage ........... " << zIt->GetCloudCoverage()/percent << " %" << endl;
56  cout << "lowest cloud height ...... " << zIt->GetLowestCloudHeight()/meter << " meter" << endl;
57  cout << "lowest cloud thickness ... " << zIt->GetLowestCloudThickness()/meter << " meter" << endl;
58  cout << "lowest cloud VAOD ........ " << zIt->GetLowestCloudVAOD() << endl;
59  cout << "lidar max signal range ... " << zIt->GetLidarMaxHeight()/meter << " meter" << endl;
60 
61  // Iterate over slices in the zone
62  //
63  for (LidarZone::VAODSliceIterator vaodIt = zIt->VAODSlicesBegin() ;
64  vaodIt != zIt->VAODSlicesEnd() ; ++vaodIt) {
65 
66  // etc.
67 
68  }
69  }
70 
71  return eSuccess;
72 }
73 
74 VModule::ResultFlag ReadLidarLL::Finish(){
75  //
76  //
77  INFO("ReadLidarLL::Finish()");
78  return eSuccess;
79 }
boost::transform_iterator< InternalZoneFunctor, InternalZoneIterator, const LidarZone & > ZoneIterator
ZoneIterator returns a pointer to an LidarZone.
Definition: LidarDB.h:45
void Update(const utl::TimeStamp &time, const bool invData=true, const bool invComp=true, const bool forceRadio=false)
Update detector: deletes currently constructed stations and sets new time.
Definition: Detector.cc:179
ZoneIterator ZonesEnd() const
End of the collection of valid Zones.
Definition: LidarDB.h:52
const double meter
Definition: GalacticUnits.h:29
constexpr double percent
Definition: AugerUnits.h:283
#define INFO(message)
Macro for logging informational messages.
Definition: ErrorLogger.h:161
void Init()
Initialise the registry.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
boost::indirect_iterator< InternalVAODSliceIterator, const VAODSlice & > VAODSliceIterator
VAODSlice iterator returns a pointer to the attenuation data slice for this zone. ...
Definition: LidarZone.h:50
const atm::Atmosphere & GetAtmosphere() const
Definition: Detector.h:113
Top of the hierarchy of the detector description interface.
Definition: Detector.h:81
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
Detector description interface for LidarDB-realted data.
Definition: LidarDB.h:26
constexpr double m
Definition: AugerUnits.h:121
const LidarDB & GetLidarDB() const
low-level interface to portion of the database with cloud data from lidar analysis ...
ZoneIterator ZonesBegin() const
Beginning of the collection of valid Zones.
Definition: LidarDB.h:48

, generated on Tue Sep 26 2023.