Line data Source code
1 : /** 2 : \file path_transfer.cpp 3 : 4 : Bojan Nikolic <b.nikolic@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk> 5 : 6 : Renamed path_transfer.cc 2023 7 : 8 : */ 9 : 10 : #include "path_transfer.h" 11 : #include "dipmodel_iface.h" 12 : #include "numalgo.h" 13 : 14 : namespace LibAIR2 { 15 : 16 0 : PathTransfer::PathTransfer(PPDipModel &model): 17 : ALMAMeasure(model), 18 0 : _model(model), 19 0 : Tb_q(4), 20 0 : Tb_s(4), 21 0 : Tb_sigma(4), 22 0 : dT_dL(4), 23 0 : dT_dL_sigma(4) 24 : { 25 0 : } 26 : 27 0 : double PathTransfer::lLikely(void) const 28 : { 29 0 : double ltot=0; 30 0 : std::vector<double> scratch(4); 31 : 32 0 : _model.setZA(za_q); 33 0 : _model.eval(scratch); 34 : 35 0 : ltot+=GaussError(Tb_q.begin(), 36 : scratch, 37 0 : Tb_sigma.thermNoise); 38 : 39 0 : for (size_t i =0 ; i < 4; ++i) 40 0 : scratch[i]=_model.dTdL_ND(i); 41 : 42 0 : ltot+=GaussError(dT_dL.begin(), 43 : scratch, 44 0 : dT_dL_sigma.thermNoise); 45 : 46 0 : _model.setZA(za_s); 47 0 : _model.eval(scratch); 48 : 49 0 : ltot+=GaussError(Tb_s.begin(), 50 : scratch, 51 0 : Tb_sigma.thermNoise); 52 0 : return ltot; 53 : 54 0 : } 55 : 56 : 57 : 58 : } 59 : 60 :