8 #ifndef SYNTHESIS_MEASUREMENTCOMPONENTS_SDDOUBLECIRCLEGAINCALIMPL_H_
9 #define SYNTHESIS_MEASUREMENTCOMPONENTS_SDDOUBLECIRCLEGAINCALIMPL_H_
27 for (
size_t i = 0; i < 3; ++i) {
40 meta_[1] = antenna_id;
49 typedef std::pair<casacore::Double, casacore::Double>
TimeRange;
57 return time_from < current_time && current_time < time_to;
61 for (
auto iter = timerange_list.begin(); iter != timerange_list.end(); ++iter) {
62 if (
InRange(*iter, current_time)) {
casacore::LogIO logger_
logger
casacore::Double central_region_
apply gain factor void apply(casacore::Vector<casacore::Double> const &gain_time, casacore::Cube<casa...
casacore::Int getSmoothingSize() const
get smoothing size
casacore::Double observing_frequency_
parameter for primary beam size determination observing frequency [Hz]
void setObservingFrequency(casacore::Double value)
set observing frequency in Hz
casacore::Block< casacore::Int > meta_
casacore::Bool do_smooth_
flag for smoothing
bool findTimeRange(casacore::Vector< casacore::Double > const &time, casacore::Vector< casacore::Double > const &interval, casacore::Matrix< casacore::Double > const &direction, TimeRangeList &timerange)
find time range that observed central region
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
casacore::Bool isSmoothingActive() const
ostream-like interface to creating log messages.
void setCentralRegion(casacore::Double value)
setter set radius of the central region in radian
SDDoubleCircleGainCalImpl()
bool operator()(TimeRangeKey const &a, TimeRangeKey const &b) const
casacore::Double getObservingFrequency() const
get observing frequency in Hz
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
casacore::Double getPrimaryBeamSize() const
primvary beam size in radian
casacore::Double getCentralRegion() const
getter get size of the central region in radian
void findDataWithinRadius(casacore::Double const radius, casacore::Vector< casacore::Double > const &time, casacore::Cube< casacore::Float > const &data, casacore::Matrix< casacore::Double > const &direction, casacore::Vector< casacore::Double > &gain_time, casacore::Cube< casacore::Float > &gain)
find data within radius
void setAntennaDiameter(casacore::Double value)
set antenna diameter in meter
void setSmoothing(casacore::Int size)
activate smoothing and set smoothing size
virtual ~SDDoubleCircleGainCalImpl()
std::pair< casacore::Double, casacore::Double > TimeRange
bool Bool
Define the standard types used by Casacore.
std::list< TimeRange > TimeRangeList
casacore::Int smooth_size_
smoothing size
void doCalibrate(casacore::Vector< casacore::Double > &gain_time, casacore::Cube< casacore::Float > &gain, casacore::Cube< casacore::Bool > &gain_flag)
gain calibration implementation
void calibrate(casacore::Cube< casacore::Float > const &data, casacore::Vector< casacore::Double > const &time, casacore::Matrix< casacore::Double > const &direction, casacore::Vector< casacore::Double > &gain_time, casacore::Cube< casacore::Float > &gain)
gain calibration based on Stephen White's IDL script
casacore::Double getRadius()
get radius of the central region in radian
casacore::Int getDefaultSmoothingSize() const
default smoothing size
void unsetSmoothing()
deactivate smoothing
casacore::Double antenna_diameter_
antenna diameter [m]
casacore::Int getEffectiveSmoothingSize()
get effective smoothing size
const Double dbl_epsilon
Minimum double precision floating point number X such that 1+X does not equal X.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
TimeRangeKey(casacore::Int const field_id, casacore::Int const antenna_id, casacore::Int const feed_id)
casacore::Double getAntennaDiameter() const
get antenna diameter in meter