add common abstract interface classes for flat and fat ESDs
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliVVvertex.h
1 #ifndef ALIVVVERTEX_H
2 #define ALIVVVERTEX_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               *
6  * Primary Author: Mikolaj Krzewicki
7
8  * >> interface for vertices <<
9  */
10
11 #include "Rtypes.h"
12
13 class AliVVvertex
14 {
15   public:
16   virtual Double_t GetX() const { return 0; }
17   virtual Double_t GetY() const { return 0; }
18   virtual Double_t GetZ() const { return 0; }
19   virtual void GetXYZ(Double_t pos[3]) const {if (pos[0]<0) return;}
20   virtual void     GetCovarianceMatrix(Double_t covmatrix[6]) const = 0;
21   virtual Double_t GetChi2perNDF() const = 0;
22   virtual Double_t GetChi2() const = 0;
23   virtual Int_t    GetNDF() const = 0;
24   virtual void     PrintIndices() const = 0;
25   virtual void     Print(Option_t* option = "") const = 0;
26   virtual Int_t    GetBC() const;
27   virtual void Clear(Option_t* /*option*/) {}
28   virtual Int_t    GetNContributors() const { return 0; }
29 };
30
31 #endif