5 #include<AliMultiplicity.h>
7 ///////////////////////////////////////////////////////////////////
9 // Base class for primary vertex reconstruction //
11 ///////////////////////////////////////////////////////////////////
19 class AliVertexer : public TObject {
22 // default constructor
26 virtual ~AliVertexer();
27 // computes the vertex for the current event
28 virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb)=0;
29 // computes the vertex for each event and stores it on file
30 virtual void FindVertices()= 0;
31 virtual AliMultiplicity* GetMultiplicity() const {return fMult;}
32 virtual void PrintStatus() const = 0;
33 virtual void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
34 virtual void SetLastEvent(Int_t ev){fLastEvent = ev;}
35 virtual void SetVtxStart(Double_t x,Double_t y,Double_t z)
36 { fNominalPos[0]=x; fNominalPos[1]=y; fNominalPos[2]=z; }
37 virtual void SetVtxStartSigma(Double_t sx,Double_t sy,Double_t sz)
38 { fNominalCov[0]=sx*sx; fNominalCov[2]=sy*sy; fNominalCov[5]=sz*sz;
39 fNominalCov[1]=0.; fNominalCov[3]=0.; fNominalCov[4]=0.; }
40 virtual void SetVtxStart(AliESDVertex *vtx);
41 virtual void WriteCurrentVertex() = 0;
45 // copy constructor (NO copy allowed: the constructor is protected
47 AliVertexer(const AliVertexer& vtxr);
48 // assignment operator (NO assignment allowed)
49 AliVertexer& operator=(const AliVertexer& /* vtxr */);
51 AliESDVertex *fCurrentVertex; //! pointer to the vertex of the current
53 Int_t fFirstEvent; // First event to be processed by FindVertices
54 Int_t fLastEvent; // Last event to be processed by FindVertices
55 Double_t fNominalPos[3]; // initial knowledge on vertex position
56 Double_t fNominalCov[6]; // initial knowledge on vertex position
57 AliMultiplicity *fMult; //! Multiplicity object
59 ClassDef(AliVertexer,3);