ROOT logo
#ifndef AliVVertex_H
#define AliVVertex_H
/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//-------------------------------------------------------------------------
//     base class for ESD and AOD vertices
//     Author: A. Dainese
//-------------------------------------------------------------------------

#include <TNamed.h>

class AliVVertex: public TNamed {

public:
  AliVVertex() : TNamed() { }
  virtual ~AliVVertex() { }
  AliVVertex(const AliVVertex& vVert); 
  AliVVertex& operator=(const AliVVertex& vVert);

  // vertex properties
  virtual void     GetXYZ(Double_t position[3]) const = 0;
  virtual Double_t GetX() const = 0;
  virtual Double_t GetY() const = 0;
  virtual Double_t GetZ() const = 0;
  virtual void     GetCovarianceMatrix(Double_t covmatrix[6]) const = 0;
  

  virtual Double_t GetChi2perNDF() const = 0;
  virtual Double_t GetChi2() const = 0;
  virtual Int_t    GetNDF() const = 0;

  virtual Bool_t IsFromVertexer3D() const {
        TString title = GetTitle();
        if(title.Contains("vertexer: 3D")) return kTRUE;
        else return kFALSE;
    }
  virtual Bool_t IsFromVertexerZ() const {
        TString title = GetTitle();
        if(title.Contains("vertexer: Z")) return kTRUE;
        else return kFALSE;
    }

  virtual Int_t    GetNContributors() const = 0;
  virtual void     PrintIndices() const = 0;
  virtual void     Print(Option_t* option = "") const = 0;

  virtual void     SetBC(Int_t) {}
  virtual Int_t    GetBC() const;

  virtual void Clear(Option_t* option) {TNamed::Clear(option);}


  ClassDef(AliVVertex,2)  // base class for vertices
};

#endif
 AliVVertex.h:1
 AliVVertex.h:2
 AliVVertex.h:3
 AliVVertex.h:4
 AliVVertex.h:5
 AliVVertex.h:6
 AliVVertex.h:7
 AliVVertex.h:8
 AliVVertex.h:9
 AliVVertex.h:10
 AliVVertex.h:11
 AliVVertex.h:12
 AliVVertex.h:13
 AliVVertex.h:14
 AliVVertex.h:15
 AliVVertex.h:16
 AliVVertex.h:17
 AliVVertex.h:18
 AliVVertex.h:19
 AliVVertex.h:20
 AliVVertex.h:21
 AliVVertex.h:22
 AliVVertex.h:23
 AliVVertex.h:24
 AliVVertex.h:25
 AliVVertex.h:26
 AliVVertex.h:27
 AliVVertex.h:28
 AliVVertex.h:29
 AliVVertex.h:30
 AliVVertex.h:31
 AliVVertex.h:32
 AliVVertex.h:33
 AliVVertex.h:34
 AliVVertex.h:35
 AliVVertex.h:36
 AliVVertex.h:37
 AliVVertex.h:38
 AliVVertex.h:39
 AliVVertex.h:40
 AliVVertex.h:41
 AliVVertex.h:42
 AliVVertex.h:43
 AliVVertex.h:44
 AliVVertex.h:45
 AliVVertex.h:46
 AliVVertex.h:47
 AliVVertex.h:48
 AliVVertex.h:49
 AliVVertex.h:50
 AliVVertex.h:51
 AliVVertex.h:52
 AliVVertex.h:53
 AliVVertex.h:54
 AliVVertex.h:55
 AliVVertex.h:56
 AliVVertex.h:57