3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //-------------------------------------------------------
9 // Used for secondary vertices and as a base class for primary vertices
10 // Origin: F. Prino, Torino, prino@to.infn.it
11 //-------------------------------------------------------
16 class AliVertex : public TNamed {
21 AliVertex(Double_t position[3],Double_t dispersion,
23 AliVertex(const AliVertex &source);
24 AliVertex &operator=(const AliVertex &source);
27 virtual void Clear(Option_t *option="");
28 virtual void SetXYZ(Double_t pos[3])
29 {for(Int_t j=0; j<3; j++) fPosition[j]=pos[j];}
30 virtual void SetXv(Double_t xVert) {fPosition[0]=xVert; }
31 virtual void SetYv(Double_t yVert) {fPosition[1]=yVert; }
32 virtual void SetZv(Double_t zVert) {fPosition[2]=zVert; }
33 virtual void SetDispersion(Double_t disp) { fSigma=disp; }
34 virtual void SetNContributors(Int_t nContr) {fNContributors=nContr; }
36 virtual void GetXYZ(Double_t position[3]) const;
37 virtual Double_t GetXv() const { return fPosition[0]; }
38 virtual Double_t GetYv() const { return fPosition[1]; }
39 virtual Double_t GetZv() const { return fPosition[2]; }
40 virtual Double_t GetDispersion() const { return fSigma; }
41 virtual Int_t GetNContributors() const { return fNContributors; }
42 virtual Int_t GetNIndices() const { return fNIndices; }
43 virtual Bool_t GetStatus() const {
44 if(fNContributors>0) return 1;
48 virtual void Print(Option_t* option = "") const;
49 virtual void SetIndices(Int_t nindices,UShort_t *indices);
50 virtual UShort_t *GetIndices() const { return fIndices; }
51 virtual Bool_t UsesTrack(Int_t index) const;
52 virtual void PrintIndices() const { if(fNIndices>0)
53 for(Int_t i=0;i<fNIndices;i++) printf("AliVertex uses track %d\n",fIndices[i]); return; }
57 Double32_t fPosition[3]; // vertex position
58 Double32_t fSigma; // track dispersion around found vertex
59 Int_t fNContributors; // # of tracklets/tracks used for the estimate
60 Int_t fNIndices; // # of indices
61 UShort_t *fIndices; //[fNIndices] indices of tracks used for vertex
64 ClassDef(AliVertex,3) // Class for Primary Vertex