ROOT logo
AliRoot » STEER » STEER » AliRieman

class AliRieman: public TObject

Function Members (Methods)

public:
AliRieman()
AliRieman(Int_t capacity)
AliRieman(const AliRieman& rieman)
virtual~AliRieman()
voidTObject::AbstractMethod(const char* method) const
voidAddPoint(Double_t x, Double_t y, Double_t z, Double_t sy, Double_t sz)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Double_tCalcChi2() const
Double_tCalcChi2Y() const
Double_tCalcChi2Z() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetC() const
Int_tGetCapacity() const
Double_tGetChi2() const
Double_tGetChi2Y() const
Double_tGetChi2Z() const
const TMatrixDSym&GetCovariance() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetDYat(Double_t x) const
Double_tGetDZat(Double_t x) const
Double_tGetErrY(Double_t x) const
Double_tGetErrZ(Double_t x) const
Bool_tGetExternalParameters(Double_t xref, Double_t* params, Double_t* covar)
virtual const char*TObject::GetIconName() const
Int_tGetN() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_t*GetParam()
Double_t*GetSy() const
Double_t*GetSz() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*GetX() const
Bool_tGetXYZat(Double_t r, Double_t alpha, Float_t* xyz) const
Double_t*GetY() const
Double_tGetYat(Double_t x) const
Double_t*GetZ() const
Double_tGetZat(Double_t x) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsValid()
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
AliRieman*MakeResiduals() const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUpdate()
voidUpdatePol()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
voidUpdateCovariancePol()
private:
AliRieman&operator=(const AliRieman& rieman)

Data Members

protected:
Int_tfCapacitycapacity
Double_tfChi2sums of chi2
Double_tfChi2Ysums of chi2 for y coord
Double_tfChi2Zsums of chi2 foz z coord
Bool_tfConvindicates convergation
TMatrixDSym*fCovarCovariance
TMatrixDSym*fCovarPolYcovariance matrix for parabola fit in xy - used for error estimation
TMatrixDSym*fCovarPolZcovariance matrix for parabola fit in xy - used for error estimation
Int_tfNnumebr of points
Double_tfParams[6]Parameters
Double_tfSumPolY[5]sums of polynoms X with weight Z
Double_tfSumPolZ[5]sums of polynoms X with weight Z
Double_tfSumXY[9]sums for XY part
Double_tfSumXZ[9]sums for XZ part
Double_tfSumZZsums of Z2
Double_t*fSy[fN] sigma y coordinate
Double_t*fSz[fN] sigma z coordinate
Double_t*fX[fN] x coordinate
Double_t*fY[fN] y coordinate
Double_t*fZ[fN] z coordinate

Class Charts

Inheritance Chart:
TObject
AliRieman

Function documentation

AliRieman()
 default constructor

AliRieman(Int_t capacity)
 default constructor

AliRieman(const AliRieman& rieman)
 copy constructor

~AliRieman()
 Destructor

void Reset()
 Reset all the data members

void AddPoint(Double_t x, Double_t y, Double_t z, Double_t sy, Double_t sz)
  Rieman update


 XY direction

  (x-x0)^2+(y-y0)^2-R^2=0 ===>

  (x^2+y^2 -2*x*x0 - 2*y*y0+ x0^2 -y0^2 -R^2 =0;  ==>

   substitution t = 1/(x^2+y^2),   u = 2*x*t, v = 2*y*t,  D0 = R^2 - x0^2- y0^2

  1 - u*x0 - v*y0 - t *D0 =0 ;  - linear equation

  next substition   a = 1/y0    b = -x0/y0   c = -D0/y0

  final linear equation :   a + u*b +t*c - v =0;

 Minimization :

 sum( (a + ui*b +ti*c - vi)^2)/(sigmai)^2 = min;

 where sigmai is the error of  maesurement  (a + ui*b +ti*c - vi)

 neglecting error of xi, and supposing  xi>>yi    sigmai ~ sigmaVi ~ 2*sigmay*t

void UpdatePol()
  Rieman update


void Update()
  Rieman update


void UpdateCovariancePol()
 covariance matrices for rough extrapolation error estimate
 covariance matrix - get error estimates at point x = 0
 ! NOTE - error estimates is very rough and it is valid only if dl<<R
 when dl is the distance between first and last point


Double_t GetErrY(Double_t x) const
    P0'  = P0 + P1 * x +  P2 * x^2
    P1'  =      P1     +  P2 * x
    P2'  =             +  P2
Double_t GetErrZ(Double_t x) const
    assumption error of curvature determination neggligible

    P0'  = P0 + P1 * x
    P1'  =      P1
Bool_t GetExternalParameters(Double_t xref, Double_t* params, Double_t* covar)
 Get external parameters
 + approximative covariance
  0  1  2  3  4      // y   - local y
     5  6  7  8      // z   - local z
        9  10 11     // snp - local sin fi
           12 13     // tgl - deep angle
              14     // C   - curvature
Double_t GetYat(Double_t x) const
 get y at given x position

Double_t GetDYat(Double_t x) const
 get dy/dx at given x position

Double_t GetZat(Double_t x) const
 get z at given x position

Double_t GetDZat(Double_t x) const
 get dz/dx at given x postion

Bool_t GetXYZat(Double_t r, Double_t alpha, Float_t* xyz) const
 Returns position given radius

Double_t GetC() const
 get curvature

Double_t CalcChi2Y() const
 calculate chi2 for Y

Double_t CalcChi2Z() const
 calculate chi2 for Z

Double_t CalcChi2() const
 sum chi2 in both coord - supposing Y and Z independent

AliRieman * MakeResiduals() const
 create residual structure - ONLY for debug purposes

Int_t GetN() const
{return fN;}
Int_t GetCapacity() const
{return fCapacity;}
Double_t * GetX() const
{return fX;}
Double_t * GetY() const
{return fY;}
Double_t * GetZ() const
{return fZ;}
Double_t * GetSy() const
{return fSy;}
Double_t * GetSz() const
{return fSz;}
Double_t* GetParam()
{return fParams;}
const TMatrixDSym & GetCovariance() const
{return *fCovar;}
Bool_t IsValid()
{ return fConv;}
Double_t GetChi2Y() const
{ return fChi2Y;}
Double_t GetChi2Z() const
{ return fChi2Z;}
Double_t GetChi2() const
{ return fChi2; }
AliRieman& operator=(const AliRieman& rieman)