casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
casa::FlagAgentShadow Class Reference

#include <FlagAgentShadow.h>

Inheritance diagram for casa::FlagAgentShadow:
casa::FlagAgentBase casa::async::Thread

Public Member Functions

 FlagAgentShadow (FlagDataHandler *dh, casacore::Record config, casacore::Bool writePrivateFlagCube=false, casacore::Bool flag=true)
 
 ~FlagAgentShadow ()
 
- Public Member Functions inherited from casa::FlagAgentBase
 FlagAgentBase (FlagDataHandler *dh, casacore::Record config, casacore::uShort iterationApproach, casacore::Bool writePrivateFlagCube=false, casacore::Bool flag=true)
 
virtual ~FlagAgentBase ()
 
void start ()
 
void terminate ()
 
void queueProcess ()
 
void chunkSummary ()
 
void tableSummary ()
 
void completeProcess ()
 
void * run ()
 
void setProfiling (bool enable)
 Set function to activate profiling. More...
 
void setCheckMode (bool enable)
 Set function to activate check mode. More...
 
virtual FlagReport getReport ()
 Get a report casacore::Record from the agent, at the end of the run The report returned by getReport() can be of multiple types – a single report of type "none" : FlagReport("none",agentName_p) – a single report of type "plot" : FlagReport("plot",agentName_p) – a list of reports : FlagReport repList("list"); repList.addReport(FlagReport("plot",agentName_p)); repList.addReport(FlagReport("plot",agentName_p));. More...
 
- Public Member Functions inherited from casa::async::Thread
 Thread ()
 
virtual ~Thread ()
 
pthread_t getId () const
 
pid_t gettid () const
 
bool isTerminationRequested () const
 
void * join ()
 
void startThread ()
 

Protected Member Functions

void preProcessBuffer (const vi::VisBuffer2 &visBuffer)
 Common functionality for each visBuffer (don't repeat at the row level) More...
 
void preProcessBufferCore (const vi::VisBuffer2 &visBuffer)
 Common preProcessing code for the single/multiple agent cases. More...
 
bool computeRowFlags (const vi::VisBuffer2 &visBuffer, FlagMapper &flags, casacore::uInt row)
 Compute flags afor a given mapped visibility point. More...
 
void setAgentParameters (casacore::Record config)
 Parse configuration parameters. More...
 
- Protected Member Functions inherited from casa::FlagAgentBase
void initialize ()
 
void runCore ()
 Convenience function to be shared by parallel/non-parallel mode. More...
 
void setDataSelection (casacore::Record config)
 
casacore::String sanitizeCorrExpression (casacore::String corrExpression, std::vector< casacore::String > *corrProducts)
 Method to sanitize correlation expression and keep going. More...
 
void generateAllIndex ()
 
void generateRowsIndex (casacore::uInt nRows)
 
void generateChannelIndex (casacore::uInt nChannels)
 
void generatePolarizationIndex (casacore::uInt nPolarizations)
 
std::vector< casacore::uInt > * generateAntennaPairRowsIndex (casacore::Int antenna1, casacore::Int antenna2)
 
void indigen (std::vector< casacore::uInt > &index, casacore::uInt size)
 Generate index for all rows. More...
 
bool find (const casacore::Vector< casacore::Int > &validRange, casacore::Int element)
 For checking ids. More...
 
bool find (const casacore::Matrix< casacore::Double > &validRange, casacore::Double element)
 For checking ranges. More...
 
bool find (const casacore::Matrix< casacore::Int > &validPairs, casacore::Int element1, casacore::Int element2)
 For checking pairs. More...
 
bool find (const casacore::Block< int > &columns, int col)
 For checking columns. More...
 
bool isNaN (casacore::Double number)
 Check if a given number is nan (for visibilities,gains and Tsys primarily) More...
 
bool isNaN (casacore::Float number)
 
bool isZero (casacore::Double number)
 
bool isZero (casacore::Float number)
 
bool isNaNOrZero (casacore::Float number)
 
bool isNaNOrZero (casacore::Double number)
 
bool checkIfProcessBuffer ()
 Check if buffer has to be processed. More...
 
void iterateRows ()
 Iterate trough list of rows. More...
 
void iterateInRows ()
 Iterate trough visibilities mapper. More...
 
void iterateAntennaPairs ()
 Iterate trough list of antenna pairs. More...
 
void iterateAntennaPairsFlags ()
 Iterate trough list of antenna pairs w/o loading visibilities. More...
 
void processAntennaPair (casacore::Int antenna1, casacore::Int antenna2)
 Methods to interactively iterate trough list of antenna pairs. More...
 
virtual void iterateAntennaPairsInteractive (antennaPairMap *antennaPairMap_ptr)
 
virtual void passIntermediate (const vi::VisBuffer2 &visBuffer)
 Iter-passes method. More...
 
virtual void passFinal (const vi::VisBuffer2 &visBuffer)
 
void setVisibilitiesMap (std::vector< casacore::uInt > *rows, VisMapper *visMap)
 Mapping functions (abs, real, imag, etc.) as requested by Urvashi. More...
 
void setFlagsMap (std::vector< casacore::uInt > *rows, FlagMapper *flagMap)
 
casacore::Bool checkVisExpression (polarizationMap *polMap)
 
virtual bool computeInRowFlags (const vi::VisBuffer2 &visBuffer, VisMapper &visibilities, FlagMapper &flags, casacore::uInt row)
 Compute flags for a given visibilities point. More...
 
virtual bool computeAntennaPairFlags (const vi::VisBuffer2 &visBuffer, VisMapper &visibilities, FlagMapper &flags, casacore::Int antenna1, casacore::Int antenna2, std::vector< casacore::uInt > &rows)
 Compute flags for a given (time,freq) antenna pair map. More...
 
virtual bool computeAntennaPairFlags (const vi::VisBuffer2 &visBuffer, FlagMapper &flags, casacore::Int antenna1, casacore::Int antenna2, std::vector< casacore::uInt > &rows)
 Compute flags for a given (time,freq) antenna pair map w/o using visibilities. More...
 
- Protected Member Functions inherited from casa::async::Thread
bool isStarted () const
 

Private Member Functions

casacore::Bool computeAntUVW (const vi::VisBuffer2 &vb, casacore::Int rownr)
 casacore::Function to compute antenna UVW values for the current timestep More...
 
void calculateShadowedAntennas (const vi::VisBuffer2 &visBuffer, casacore::Int rownr)
 casacore::Function to compute shadowed antennas, given a list of antenna UVWs. More...
 
void decideBaselineShadow (casacore::Double uvDistance, casacore::Double w, casacore::Int antenna1, casacore::Int antenna2)
 casacore::Function to decide if the 'behind' antenna is shadowed or not, for one baseline More...
 
casacore::uInt baselineIndex (casacore::uInt nAnt, casacore::uInt a1, casacore::uInt a2)
 casacore::Function to return baseline index. More...
 

Private Attributes

casacore::Double shadowTolerance_p
 casacore::Input parameters /// More...
 
casacore::Record additionalAntennas_p
 
casacore::Vector
< casacore::Double
shadowAntennaDiameters_p
 Copies of antenna-information lists, containing extra antennas if specified. More...
 
casacore::Vector
< casacore::MPosition
shadowAntennaPositions_p
 
casacore::uShort agentNumber_p
 Declaration of static members for common pre-processing. More...
 
casacore::Matrix
< casacore::Double
uvwAnt_p
 Private variables that change with each timestep. More...
 
casacore::Double currTime_p
 
casacore::Bool firststep_p
 

Static Private Attributes

static std::vector< casacore::IntshadowedAntennas_p
 
static casa::async::Mutex staticMembersMutex_p
 
static std::vector< bool > startedProcessing_p
 
static bool preProcessingDone_p
 
static casacore::uShort nAgents_p
 

Additional Inherited Members

- Public Types inherited from casa::FlagAgentBase
enum  datacolumn {
  DATA,
  CORRECTED,
  MODEL,
  RESIDUAL,
  RESIDUAL_DATA,
  FPARAM,
  CPARAM,
  PARAMERR,
  SNR,
  WEIGHT_SPECTRUM,
  FLOAT_DATA
}
 
enum  iteration {
  ROWS,
  ROWS_PREPROCESS_BUFFER,
  IN_ROWS,
  IN_ROWS_PREPROCESS_BUFFER,
  ANTENNA_PAIRS,
  ANTENNA_PAIRS_FLAGS,
  ANTENNA_PAIRS_INTERACTIVE,
  ANTENNA_PAIRS_PREPROCESS_BUFFER
}
 
- Public Types inherited from casa::async::Thread
typedef void *(* ThreadFunction )(void *)
 
- Static Public Member Functions inherited from casa::FlagAgentBase
static FlagAgentBasecreate (FlagDataHandler *dh, casacore::Record config)
 
- Public Attributes inherited from casa::FlagAgentBase
casacore::Bool backgroundMode_p
 Externally visible configuration. More...
 
casacore::LogIO::Command logLevel_p
 
casacore::Bool apply_p
 
casacore::Bool flag_p
 
- Static Protected Member Functions inherited from casa::async::Thread
static void * threadFunction (void *)
 
- Protected Attributes inherited from casa::FlagAgentBase
FlagDataHandlerflagDataHandler_p
 Common used members that must be accessible to derived classes. More...
 
std::unique_ptr< casacore::LogIOlogger_p
 
casacore::String agentName_p
 
casacore::String summaryName_p
 
casacore::String mode_p
 
casacore::uInt64 chunkFlags_p
 Flag counters. More...
 
casacore::uInt64 chunkNaNs_p
 
casacore::uInt64 tableFlags_p
 
casacore::uInt64 tableNaNs_p
 
casacore::uInt64 visBufferFlags_p
 
bool flagRow_p
 
casacore::Bool multiThreading_p
 Multithreading configuration and agent id. More...
 
casacore::Int nThreads_p
 
casacore::Int threadId_p
 
casacore::Bool prepass_p
 Running configuration. More...
 
std::vector< casacore::uIntrowsIndex_p
 Lists of elements to process jagonzal (CAS-4312): We need channelIndex_p available for the Rflag agent, in order to take into account channel selection for the frequency mapping. More...
 
std::vector< casacore::uIntchannelIndex_p
 
std::vector< casacore::uIntpolarizationIndex_p
 
casacore::String dataColumn_p
 Needed to be protected for timeavg in clip. More...
 
casacore::Bool timeavg_p
 Pre-averaging parameters. More...
 
casacore::Double timebin_p
 
casacore::Bool channelavg_p
 
casacore::Vector< casacore::Intchanbin_p
 

Detailed Description

Definition at line 30 of file FlagAgentShadow.h.

Constructor & Destructor Documentation

casa::FlagAgentShadow::FlagAgentShadow ( FlagDataHandler dh,
casacore::Record  config,
casacore::Bool  writePrivateFlagCube = false,
casacore::Bool  flag = true 
)
casa::FlagAgentShadow::~FlagAgentShadow ( )

Member Function Documentation

casacore::uInt casa::FlagAgentShadow::baselineIndex ( casacore::uInt  nAnt,
casacore::uInt  a1,
casacore::uInt  a2 
)
private

casacore::Function to return baseline index.

void casa::FlagAgentShadow::calculateShadowedAntennas ( const vi::VisBuffer2 visBuffer,
casacore::Int  rownr 
)
private

casacore::Function to compute shadowed antennas, given a list of antenna UVWs.

casacore::Bool casa::FlagAgentShadow::computeAntUVW ( const vi::VisBuffer2 vb,
casacore::Int  rownr 
)
private

casacore::Function to compute antenna UVW values for the current timestep

bool casa::FlagAgentShadow::computeRowFlags ( const vi::VisBuffer2 visBuffer,
FlagMapper flags,
casacore::uInt  row 
)
protectedvirtual

Compute flags afor a given mapped visibility point.

Reimplemented from casa::FlagAgentBase.

void casa::FlagAgentShadow::decideBaselineShadow ( casacore::Double  uvDistance,
casacore::Double  w,
casacore::Int  antenna1,
casacore::Int  antenna2 
)
private

casacore::Function to decide if the 'behind' antenna is shadowed or not, for one baseline

void casa::FlagAgentShadow::preProcessBuffer ( const vi::VisBuffer2 visBuffer)
protectedvirtual

Common functionality for each visBuffer (don't repeat at the row level)

Reimplemented from casa::FlagAgentBase.

void casa::FlagAgentShadow::preProcessBufferCore ( const vi::VisBuffer2 visBuffer)
protected

Common preProcessing code for the single/multiple agent cases.

void casa::FlagAgentShadow::setAgentParameters ( casacore::Record  config)
protectedvirtual

Parse configuration parameters.

Reimplemented from casa::FlagAgentBase.

Member Data Documentation

casacore::Record casa::FlagAgentShadow::additionalAntennas_p
private

Definition at line 64 of file FlagAgentShadow.h.

casacore::uShort casa::FlagAgentShadow::agentNumber_p
private

Declaration of static members for common pre-processing.

Definition at line 72 of file FlagAgentShadow.h.

casacore::Double casa::FlagAgentShadow::currTime_p
private

Definition at line 81 of file FlagAgentShadow.h.

casacore::Bool casa::FlagAgentShadow::firststep_p
private

Definition at line 83 of file FlagAgentShadow.h.

casacore::uShort casa::FlagAgentShadow::nAgents_p
staticprivate

Definition at line 77 of file FlagAgentShadow.h.

bool casa::FlagAgentShadow::preProcessingDone_p
staticprivate

Definition at line 76 of file FlagAgentShadow.h.

casacore::Vector<casacore::Double> casa::FlagAgentShadow::shadowAntennaDiameters_p
private

Copies of antenna-information lists, containing extra antennas if specified.

casacore::Vector<casacore::String> shadowAntennaNames_p;

Definition at line 68 of file FlagAgentShadow.h.

casacore::Vector<casacore::MPosition> casa::FlagAgentShadow::shadowAntennaPositions_p
private

Definition at line 69 of file FlagAgentShadow.h.

std::vector<casacore::Int> casa::FlagAgentShadow::shadowedAntennas_p
staticprivate

Definition at line 73 of file FlagAgentShadow.h.

casacore::Double casa::FlagAgentShadow::shadowTolerance_p
private

casacore::Input parameters ///

Definition at line 63 of file FlagAgentShadow.h.

std::vector<bool> casa::FlagAgentShadow::startedProcessing_p
staticprivate

Definition at line 75 of file FlagAgentShadow.h.

casa::async::Mutex casa::FlagAgentShadow::staticMembersMutex_p
staticprivate

Definition at line 74 of file FlagAgentShadow.h.

casacore::Matrix<casacore::Double> casa::FlagAgentShadow::uvwAnt_p
private

Private variables that change with each timestep.

Definition at line 80 of file FlagAgentShadow.h.


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