21 AntennaPositions = _AntennaPositions;
22 AntennaTimes = _AntennaTimes;
23 AntennaTimesError = _AntennaTimesError;
24 fgLocalCS = _fgLocalCS;
27 tau0 =
TMath::Mean(AntennaTimes.begin(),AntennaTimes.end());
31 int n = AntennaTimes.size();
34 AntennaTimes[i] -= tau0;
43 std::vector<double> ExpectedTimes;
51 int n = AntennaPositions.size();
55 exp_time = ((AntennaPositions[i]-TestPosition).GetMag())/c;
56 ExpectedTimes.push_back(exp_time);
61 t0 =
TMath::Mean(ExpectedTimes.begin(),ExpectedTimes.end());
66 chi +=
pow(AntennaTimes[i]-(ExpectedTimes[i]-t0),2)/
pow(AntennaTimesError[i],2);
void UseCartesicCoordinates()
double DoEval(const double *x) const
Chi2ForSphericalWaveFit()
double pow(const double x, const unsigned int i)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
static const CSpherical kSpherical
constexpr double kSpeedOfLight
void Set(const std::vector< utl::Vector > &_AntennaPositions, const std::vector< double > &_AntennaTimes, const std::vector< double > &_AntennaTimesError, const utl::CoordinateSystemPtr &_fgLocalCS)
double Mean(const std::vector< double > &v)
~Chi2ForSphericalWaveFit()
void UseSphericalCoordinates()