2 #include "UsefulAdu5Pat.h" 3 #include "RawAnitaHeader.h" 4 #include "AnalysisConfig.h" 11 static const double C_in_m_ns = 0.299792;
17 if (!cfg) cfg = &defaultConfig;
19 double time_to_wais = ((
UsefulAdu5Pat*) pat)->getWaisDivideTriggerTimeNs();
20 if (distance) *distance = time_to_wais * C_in_m_ns;
22 return trig_time + (pol ==
AnitaPol::kHorizontal ? cfg->wais_hpol : cfg->wais_vpol).GPS_offset- time_to_wais;
29 if (!cfg) cfg = &defaultConfig;
33 if (distance > cfg->wais_vpol.max_distance)
return false;
34 if (fabs(dt) > cfg->wais_vpol.max_dt)
return false;
41 if (!cfg) cfg = &defaultConfig;
47 if (distance > cfg->wais_hpol.max_distance)
return false;
48 if (fabs(dt) > cfg->wais_hpol.max_dt)
return false;
55 if (!cfg) cfg = &defaultConfig;
61 if (distance > cfg->siple_vpol.max_distance)
return false;
62 if (fabs(dt) > cfg->siple_vpol.max_dt)
return false;
69 if (!cfg) cfg = &defaultConfig;
75 if (distance > cfg->siple_hpol.max_distance)
return false;
76 if (fabs(dt) > cfg->siple_hpol.max_dt)
return false;
84 if (!cfg) cfg = &defaultConfig;
86 double time_to_wais = ((
UsefulAdu5Pat*) pat)->getSipleTriggerTimeNs();
87 if (distance) *distance = time_to_wais * C_in_m_ns;
89 return trig_time + (pol ==
AnitaPol::kHorizontal ? cfg->siple_hpol : cfg->siple_vpol).GPS_offset- time_to_wais;
94 if (!cfg) cfg = &defaultConfig;
96 if (hdr->
run > cfg->ldb_max_run)
return false;
101 return cfg->
ldb_hist()->GetBinContent(binx,biny);
bool isLDB(const RawAnitaHeader *hdr, const AnalysisConfig *cfg=0)
bool isWAISVPol(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, const AnalysisConfig *cfg=0)
bool isWAISHPol(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, const AnalysisConfig *cfg=0)
double getSIPLEDt(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, AnitaPol::AnitaPol_t pol=AnitaPol::kHorizontal, const AnalysisConfig *cfg=0, double *distance=0)
bool isSIPLEHPol(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, const AnalysisConfig *cfg=0)
As UsefulAnitaEvent is to RawAnitaEvent, UsefulAdu5Pat is to Adu5Pat. Well not quite as useful but yo...
bool isSIPLEVPol(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, const AnalysisConfig *cfg=0)
enum AnitaPol::EAnitaPol AnitaPol_t
Polarisation enumeration.
double getWAISDt(const UsefulAdu5Pat *pat, const RawAnitaHeader *hdr, AnitaPol::AnitaPol_t pol=AnitaPol::kHorizontal, const AnalysisConfig *cfg=0, double *distance=0)