28 #ifndef SYNTHESIS_CALCORRUPTOR_H
29 #define SYNTHESIS_CALCORRUPTOR_H
119 curr_chan_[currSpw()]=chan;
123 curr_freq_=fRefFreq()[currSpw()]+chan*fRes;
175 initialize(1234,1.0);
270 return screen_p->operator()(i,j); };
271 using CalCorruptor::initialize;
312 curr_chan_[currSpw()]=chan;
316 curr_freq_=fRefFreq()[currSpw()]+chan*fRes;
318 double hn_k = 0.04799274551*1
e-9*focusFreq();
319 Rtcmb() = 1./(
exp(hn_k/tcmb())-1.);
320 Rtground() = 1./(
exp(hn_k/tground())-1.);
322 Rtatmos() = 1./(
exp(hn_k/tatmos())-1.);
332 tground_,spilleff_,trx_,tatmos_,tcmb_;
366 virtual void initialize();
A Vector of integers, for indexing into Array<T> objects.
casacore::Vector< casacore::Double > & slot_times()
casacore::Double & curr_time()
casacore::Complex offset_
atm::SkyStatus * itsSkyStatus
virtual void setFocusChan(casacore::Int chan)
casacore::Vector< casacore::Float > & anty()
casacore::Double & startTime()
casacore::Vector< casacore::uInt > & fnChan()
casacore::uInt & currAnt()
std::complex< Float > Complex
casacore::Array< casacore::Float > * data_
casacore::Double & Rtcmb()
inline casacore::Double& Rtrx() { return Rtrx_; };
casacore::Record & simpar()
casacore::Vector< casacore::uInt > ATMnChan_
casacore::Float screen(const casacore::Int i, const casacore::Int j)
casacore::Float & tground()
casacore::Normal * nDist_p
casacore::Vector< casacore::Vector< casacore::uInt > > ATMchanMap_
casacore::Bool & initialized()
virtual ~fBM(); // not ness if we don't derive from this
casacore::Bool & times_initialized()
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
void initialize(const casacore::Int seed, const casacore::Complex camp)
for the residual/gaussian noise
virtual void setFocusChan(casacore::Int chan)
virtual casacore::String type() const
Implements RegionShape::type.
const casacore::uInt & focusChan()
LatticeExprNode exp(const LatticeExprNode &expr)
casacore::Bool times_initialized_
casacore::Double stoptime_
virtual void initialize()
const casacore::Double & focusFreq()
casacore::Int & curr_slot()
casacore::Double airMassTime_
casacore::Float & senscoeff()
casacore::Double & stopTime()
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
casacore::Vector< casacore::Float > anty_
casacore::Float & spilleff()
casacore::Vector< casacore::uInt > & currChans()
casacore::Complex & camp()
casacore::Float & mean_pwv()
casacore::Vector< casacore::Float > fWidth_
casacore::Double & slot_time()
casacore::Vector< casacore::Double > antDiams
atm::SpectralGrid * itsSpecGrid
casacore::Double & Rtatmos()
casacore::Float data(casacore::uInt i1, casacore::uInt i2)
casacore::Vector< casacore::Float > airMass_
Type
Allowed types of VisCal matrices - 'correct' order enum Type{UVMOD,Mf,M,K,B,G,D,C,E,P,T,EP,F}; enum Type{Test=0,ANoise,M,KAntPos,K,B,G,J,D,X,C,P,E,T,F,A,ALL};.
casacore::Float & windspeed()
casacore::Normal * nDist_p
Normal or Gaussian distribution.
casacore::Float & tatmos()
LatticeExprNode amp(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds sqrt(left^2+right^2).
casacore::Normal * nDist_p
casacore::MLCG * rndGen_p
casacore::Array< casacore::Float > data()
casacore::uInt & prtlev()
inherited from VC
casacore::PtrBlock< casacore::Matrix< casacore::Complex > * > drift_p
casacore::Vector< casacore::uInt > & ATMnChan()
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual void initialize()
A drop-in replacement for Block<T*>.
casacore::Double & slot_time(const casacore::Int i)
casacore::Vector< casacore::Double > slot_times_
casacore::Vector< casacore::Float > & fWidth()
casacore::Vector< casacore::Float > & antx()
casacore::Matrix< casacore::Float > * screen_p
D is like ANoise but has a complex amplitude (different sigma in real/imag), and a systematic offset...
casacore::Float & pixsize()
casacore::Vector< casacore::uInt > & ATMchanMap(casacore::uInt ispw)
void initialize(const casacore::Int seed, const casacore::Complex camp, const casacore::Complex offset)
casacore::Matrix< casacore::Float > & screen()
pwv screen e.g.
void initialize(const casacore::Int seed, const casacore::Float amp)
const Double e
e and functions thereof:
casacore::Float sensitivityCoeff_
casacore::Float & tauscale()
casacore::uInt & currAnt2()
casacore::Vector< casacore::uInt > fnChan_
Multiplicative linear congruential generator.
A class to provide easy read-only access to MSAntenna columns.
String: the storage and methods of handling collections of characters.
casacore::String & mode()
VisibilityIterator iterates through one or more writable MeasurementSets.
casacore::PtrBlock< casacore::Vector< casacore::Float > * > pwv_p
casacore::Bool airMassValid_
this generates fractional brownian motion aka generalized 1/f noise class fBM : public casacore::Arra...
for simulating corruptions
casacore::Float windspeed_
virtual void initialize()
atm::RefractiveIndexProfile * itsRIP
casacore::MLCG * rndGen_p
RI todo rearrange so there's a Gauss corruptor for AN,D,G, a fBMcorrupt,etc.
void initialize(const casacore::Float amp, const casacore::Record &simpar)
a generic initializer that just takes amplitude and simpar
casacore::Double Rtground_
casacore::uInt & currSpw()
casacore::Float data(casacore::uInt i1)
casacore::Vector< casacore::Float > & fRefFreq()
casacore::Double & Rtground()
gets slow to calculate 1/exp(hv/kt)-1 all the time so