12 computeSigmaGamma =
true;
19 sigma_gamma = _sigma_gamma;
20 computeSigmaGamma =
false;
26 AntennaPositions = _AntennaPositions;
27 AntennaTimes = _AntennaTimes;
28 AntennaTimesError = _AntennaTimesError;
29 fgLocalCS = _fgLocalCS;
32 tau0 =
TMath::Mean(AntennaTimes.begin(),AntennaTimes.end());
36 int n = AntennaTimes.size();
39 AntennaTimes[i] -= tau0;
42 if(computeSigmaGamma) {
54 std::vector<double> ExpectedTimes;
62 if (gamma==0.){gamma=1.e-12;}
65 int n = AntennaPositions.size();
69 exp_time = ((AntennaPositions[i]-TestPosition).GetMag())/(c*gamma);
70 ExpectedTimes.push_back(exp_time);
75 t0 =
TMath::Mean(ExpectedTimes.begin(),ExpectedTimes.end());
80 chi +=
pow(AntennaTimes[i]-(ExpectedTimes[i]-t0),2)/
pow(AntennaTimesError[i],2);
83 chi +=
pow(1.-gamma,2)/
pow(sigma_gamma,2);
~Chi2ForSphericalWaveFitVarC()
double pow(const double x, const unsigned int i)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
void Set(const std::vector< utl::Vector > &_AntennaPositions, const std::vector< double > &_AntennaTimes, const std::vector< double > &_AntennaTimesError, const utl::CoordinateSystemPtr &_fgLocalCS)
static const CSpherical kSpherical
void SetSigmaGamma(double _sigma_gamma)
double DoEval(const double *x) const
constexpr double kSpeedOfLight
Chi2ForSphericalWaveFitVarC()
double Mean(const std::vector< double > &v)