Line data Source code
1 : /** 2 : \file dipmeasure_iface.cpp 3 : 4 : Bojan Nikolic <b.nikolic@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk> 5 : 6 : Renamed dipmeasure_iface.cc 2023 7 : 8 : */ 9 : 10 : #include "dipmeasure_iface.h" 11 : #include "dipmodel_iface.h" 12 : #include "numalgo.h" 13 : 14 : namespace LibAIR2{ 15 : 16 0 : DipNormMeasure::DipNormMeasure(PPDipModel & model): 17 : ALMAMeasure(model), 18 : NormalNoise(4), 19 0 : _model(model) 20 : { 21 0 : } 22 : 23 0 : void DipNormMeasure::addObs(double za, 24 : const std::vector<double> & skyTb) 25 : { 26 0 : obs.push_back( std::make_tuple(za, skyTb)); 27 0 : } 28 : 29 0 : double DipNormMeasure::lLikely (void) const 30 : { 31 0 : std::vector<double> scratch; 32 0 : double res=0; 33 0 : for (size_t i = 0 ; i < obs.size() ; ++i) 34 : { 35 : double za; 36 0 : obs_t skyT; 37 0 : std::tie(za, skyT) = obs[i]; 38 : 39 0 : _model.setZA(za); 40 0 : _model.eval(scratch); 41 : 42 0 : res+= GaussError( skyT.begin(), scratch, thermNoise); 43 0 : } 44 : 45 0 : return res; 46 0 : } 47 : 48 : 49 : 50 : } 51 :