#ifndef CONSTFT_H
#define CONSTFT_H

// Typedef's for Double_t
#ifndef ROOT_Rtypes
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "Rtypes.h"
#endif
#endif

#include "Conventions/Munits.h"

namespace ConstFT
{
// constants

// number of estimated parameters of the track
static const Int_t        NTrackParams       = 5;
// indices of the track parameters
static const Int_t        kU                 = 0;
static const Int_t        kdUdZ              = 1;
static const Int_t        kV                 = 2;
static const Int_t        kdVdZ              = 3;
static const Int_t        kQoverP            = 4;

// max number of planes in the track
static const Int_t        NPlanesMax         = 500;      

// rms of one strip === 0.04108m/sqrt(12)
static const Double_t     kOneStripError     = 0.01185877;

// min strip charge (also configurable throug AlgConfig)
static const Double_t     kMinStripCharge    = 0.5;

// parameters for <theta(MCS)> estimation
static const Double_t     Theta0_P1          = 0.0136;   
static const Double_t     Theta0_P2          = 0.038;    

// radiation length in steel
static const Double_t     X0_Steel           = 0.0176;   
// radiation length in scintillator
static const Double_t     X0_Scint           = 0.4372;   

// a small number to protect from division by zero
static const Double_t     TinyNumber         = 1e-12;     

// initial value of delta chi2 between two vectors
// of fit parameters (just a huge number)
static const Double_t     InitialDChi2       = 1e6;     

// maximum momentum from range
static const Double_t     MaxPrange          = 50.;      

} // end namespace ConstFT

#endif /* CONSTFT_H */
