MTFitSetup.h

Go to the documentation of this file.
00001 #ifndef MTFITSETUP_H_
00002 #define MTFITSETUP_H_
00003 #include "C1DMTObjective.h"
00004 #include "Adaptors.h"
00005 template <typename tConfObject>
00006 void SetupMTFitParameters(const tConfObject &Configuration, C1DMTObjective &Objective)
00007 {
00008         if (Configuration.mode == "xy")
00009         {
00010                 if (Configuration.mtfit == "phase")
00011                          Objective.AppendFitParameters(&MTTensor::GetPhixy, &MTTensor::GetdPhixy, Configuration.phaseerror);
00012                 if (Configuration.mtfit == "appres")
00013                         Objective.AppendFitParameters(&MTTensor::GetRhoxy, &MTTensor::GetdRhoxy, Configuration.reserror);
00014                 if (Configuration.mtfit == "resphase")
00015                 {
00016                         Objective.AppendFitParameters(&MTTensor::GetRhoxy, &MTTensor::GetdRhoxy, Configuration.reserror);
00017                         Objective.AppendFitParameters(&MTTensor::GetPhixy, &MTTensor::GetdPhixy, Configuration.phaseerror);
00018                 }
00019         }
00020         else
00021         {
00022                 if (Configuration.mtfit == "phase")
00023                          Objective.AppendFitParameters(&MTTensor::GetPhiyx, &MTTensor::GetdPhiyx, Configuration.phaseerror);
00024                 if (Configuration.mtfit == "appres")
00025                         Objective.AppendFitParameters(&MTTensor::GetRhoyx, &MTTensor::GetdRhoyx, Configuration.reserror);
00026                 if (Configuration.mtfit == "resphase")
00027                 {
00028                         Objective.AppendFitParameters(&MTTensor::GetRhoyx, &MTTensor::GetdRhoyx, Configuration.reserror);
00029                         Objective.AppendFitParameters(&MTTensor::GetPhiyx, &MTTensor::GetdPhiyx, Configuration.phaseerror);
00030                 }
00031         }
00032         if (Configuration.mtfit == "berd")
00033         {
00034                         Objective.AppendFitParameters(boost::bind(gplib::real(),boost::bind(&MTTensor::GetBerd,_1)),
00035                                         &MTTensor::GetdBerd, Configuration.tensorerror);
00036                         Objective.AppendFitParameters(boost::bind(gplib::imag(),boost::bind(&MTTensor::GetBerd,_1)),
00037                                         &MTTensor::GetdBerd, Configuration.tensorerror);
00038         }
00039         if(Configuration.mtfit == "det")
00040         {
00041                         Objective.AppendFitParameters(boost::bind(gplib::real(),boost::bind(&MTTensor::GetDet,_1)),
00042                                         &MTTensor::GetdDet, Configuration.tensorerror);
00043                         Objective.AppendFitParameters(boost::bind(gplib::imag(),boost::bind(&MTTensor::GetDet,_1)),
00044                                         &MTTensor::GetdDet, Configuration.tensorerror);
00045         }
00046         if(Configuration.mtfit == "all")
00047         {
00048                 Objective.AppendFitParameters(&MTTensor::GetRhoxx, &MTTensor::GetdRhoxx, Configuration.reserror);
00049                 Objective.AppendFitParameters(&MTTensor::GetPhixx, &MTTensor::GetdPhixx, Configuration.phaseerror);
00050                 Objective.AppendFitParameters(&MTTensor::GetRhoxy, &MTTensor::GetdRhoxy, Configuration.reserror);
00051                 Objective.AppendFitParameters(&MTTensor::GetPhixy, &MTTensor::GetdPhixy, Configuration.phaseerror);
00052                 Objective.AppendFitParameters(&MTTensor::GetRhoyx, &MTTensor::GetdRhoyx, Configuration.reserror);
00053                 Objective.AppendFitParameters(&MTTensor::GetPhiyx, &MTTensor::GetdPhiyx, Configuration.phaseerror);
00054                 Objective.AppendFitParameters(&MTTensor::GetRhoyy, &MTTensor::GetdRhoyy, Configuration.reserror);
00055                 Objective.AppendFitParameters(&MTTensor::GetPhiyy, &MTTensor::GetdPhiyy, Configuration.phaseerror);
00056         }
00057         if(Configuration.mtfit == "allphase")
00058         {
00059                 Objective.AppendFitParameters(&MTTensor::GetPhixx, &MTTensor::GetdPhixx, Configuration.phaseerror);
00060                 Objective.AppendFitParameters(&MTTensor::GetPhixy, &MTTensor::GetdPhixy, Configuration.phaseerror);
00061                 Objective.AppendFitParameters(&MTTensor::GetPhiyx, &MTTensor::GetdPhiyx, Configuration.phaseerror);
00062                 Objective.AppendFitParameters(&MTTensor::GetPhiyy, &MTTensor::GetdPhiyy, Configuration.phaseerror);
00063         }
00064         if(Configuration.mtfit == "offdphase")
00065         {
00066                 Objective.AppendFitParameters(&MTTensor::GetPhixy, &MTTensor::GetdPhixy, Configuration.phaseerror);
00067                 Objective.AppendFitParameters(&MTTensor::GetPhiyx, &MTTensor::GetdPhiyx, Configuration.phaseerror);
00068                 Objective.AppendFitParameters(&MTTensor::GetAlpha, &MTTensor::GetdZero, Configuration.phaseerror);
00069         }
00070         if(Configuration.mtfit == "ptensor")
00071         {
00072                 Objective.AppendFitParameters(&MTTensor::GetPhi11, &MTTensor::GetdZero, Configuration.phaseerror);
00073                 Objective.AppendFitParameters(&MTTensor::GetPhi12, &MTTensor::GetdZero, Configuration.phaseerror);
00074                 Objective.AppendFitParameters(&MTTensor::GetPhi21, &MTTensor::GetdZero, Configuration.phaseerror);
00075                 Objective.AppendFitParameters(&MTTensor::GetPhi22, &MTTensor::GetdZero, Configuration.phaseerror);
00076         }
00077         if(Configuration.mtfit == "ptellip")
00078         {
00079                         Objective.AppendFitParameters(&MTTensor::GetPhiMax, &MTTensor::GetdZero, Configuration.phaseerror);
00080                         Objective.AppendFitParameters(&MTTensor::GetPhiMin, &MTTensor::GetdZero, Configuration.phaseerror);
00081                         Objective.AppendFitParameters(&MTTensor::GetAlpha_phi, &MTTensor::GetdZero, Configuration.phaseerror);
00082                         Objective.AppendFitParameters(&MTTensor::GetBeta_phi, &MTTensor::GetdZero, Configuration.phaseerror);
00083         }
00084 }
00085 
00086 #endif /*MTFITSETUP_H_*/

Generated on Fri Jul 4 15:30:20 2008 for GPLIB++ by  doxygen 1.5.5