List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Member Functions | Private Attributes
SdStationPositionCorrectionOG::SdStationPositionCorrection Class Reference

#include <SdStationPositionCorrectionOG/SdStationPositionCorrection.h>

Inheritance diagram for SdStationPositionCorrectionOG::SdStationPositionCorrection:
Inheritance graph
[legend]

Public Types

enum  ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop }
 Flag returned by module methods to the RunController. More...
 
enum  VersionInfoType {
  eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4,
  eLastEditor = 5
}
 Different types of version info that can be retrieved from GetVersionInfo. More...
 

Public Member Functions

fwk::VModule::ResultFlag Finish ()
 Finish: invoked at end of the run (NOT end of the event) More...
 
utl::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () const
 
std::string GetVersionInfo (const VersionInfoType v) const
 Retrieve different sorts of module version info. More...
 
fwk::VModule::ResultFlag Init ()
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
fwk::VModule::ResultFlag Run (evt::Event &event)
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
virtual ~SdStationPositionCorrection ()
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Protected Types

enum  InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 }
 

Protected Attributes

int fInfoLevel = 0
 

Private Types

typedef std::map< unsigned
long int, utl::Triple
SpatialOffset
 
typedef std::map< unsigned int,
SpatialOffset
StationSpatialOffsetMap
 

Private Member Functions

 REGISTER_MODULE ("SdStationPositionCorrection", SdStationPositionCorrection)
 

Private Attributes

utl::Triple fEffectiveVarianceCoefficients
 
double fEffectiveVerticalDelay = 0
 
StationSpatialOffsetMap fStationSpatialOffset
 

Detailed Description

This module tries to correct for time offset which is a result of a wrong position set into the local GPS unit when switched to the position fixed mode of operation. The real positions of the stations were obtained as an average of several measurement campaigns that were performed in 2010 and 2011.

This module should be included into the module sequence after the SdCalibrator.

More details: this module will do two things; first, in the Init() method, the positions of all stations are changed to the GPS measurements. At the same time a time offset is calculated based on the PMS and GPS position difference (vertical component only). This offset is then used to correct the signal start times in all the stations of every event.

For more details see GAP-2011-071, GAP-2011-094, GAP-2012-052.

See also X. Bertou, GAP-2008-156.

Author
Darko Veberic
Date
Oct 2012

Definition at line 41 of file SdStationPositionCorrection.h.

Member Typedef Documentation

Definition at line 51 of file SdStationPositionCorrection.h.

Definition at line 52 of file SdStationPositionCorrection.h.

Member Enumeration Documentation

enum fwk::VModule::InfoLevel
protectedinherited
Enumerator
eInfoNone 
eInfoFinal 
eInfoIntermediate 
eInfoDebug 

Definition at line 125 of file VModule.h.

enum fwk::VModule::ResultFlag
inherited

Flag returned by module methods to the RunController.

Enumerator
eSuccess 

Report success to RunController.

eFailure 

Report failure to RunController, causing RunController to terminate execution.

eBreakLoop 

Break current loop. It works for nested loops too!

eContinueLoop 

Skip remaining modules in the current loop and continue with next iteration of the loop.

Definition at line 60 of file VModule.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Constructor & Destructor Documentation

virtual SdStationPositionCorrectionOG::SdStationPositionCorrection::~SdStationPositionCorrection ( )
inlinevirtual

Definition at line 44 of file SdStationPositionCorrection.h.

Member Function Documentation

fwk::VModule::ResultFlag SdStationPositionCorrectionOG::SdStationPositionCorrection::Finish ( )
inlinevirtual

Finish: invoked at end of the run (NOT end of the event)

This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 48 of file SdStationPositionCorrection.h.

References fwk::VModule::eSuccess.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag SdStationPositionCorrectionOG::SdStationPositionCorrection::Init ( )
virtual

Initialize: invoked at beginning of run (NOT beginning of event)

This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 74 of file SdStationPositionCorrection.cc.

References ERROR, io::eSuccess, utl::GetCurrentSystemTime(), utl::ReadStream::GetLines(), utl::UTMPoint::GetPoint(), INFO, utl::String::OfSortedIds(), SdStationPositionCorrectionOG::UnrestrictedSDetStation::SetPosition(), and WARNING.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

SdStationPositionCorrectionOG::SdStationPositionCorrection::REGISTER_MODULE ( "SdStationPositionCorrection"  ,
SdStationPositionCorrection   
)
private
VModule::ResultFlag SdStationPositionCorrectionOG::SdStationPositionCorrection::Run ( evt::Event event)
virtual

Run: invoked once per event.

This method is for things that should be done once per event {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 193 of file SdStationPositionCorrection.cc.

References io::eSuccess, evt::Event::HasSEvent(), INFO, utl::nanosecond, utl::Sqr(), and sqrt().

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

utl::Triple SdStationPositionCorrectionOG::SdStationPositionCorrection::fEffectiveVarianceCoefficients
private

Definition at line 56 of file SdStationPositionCorrection.h.

double SdStationPositionCorrectionOG::SdStationPositionCorrection::fEffectiveVerticalDelay = 0
private

Definition at line 55 of file SdStationPositionCorrection.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
StationSpatialOffsetMap SdStationPositionCorrectionOG::SdStationPositionCorrection::fStationSpatialOffset
private

Definition at line 53 of file SdStationPositionCorrection.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.