Beam position from CDB (Massimo)
[u/mrichter/AliRoot.git] / STEER / AliVertexer.h
CommitLineData
2257f27e 1#ifndef ALIVERTEXER_H
2#define ALIVERTEXER_H
3
4#include<TObject.h>
32e449be 5#include<AliMultiplicity.h>
2257f27e 6
7///////////////////////////////////////////////////////////////////
8// //
9// Base class for primary vertex reconstruction //
10// //
11///////////////////////////////////////////////////////////////////
12
13class TFile;
14class TString;
15class TTRee;
16class AliESDVertex;
17
18
19class AliVertexer : public TObject {
20
21 public:
22 // default constructor
23 AliVertexer();
24
25 // destructor
26 virtual ~AliVertexer();
27 // computes the vertex for the current event
28 virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb)=0;
32e449be 29 // computes the vertex for each event and stores it on file
2257f27e 30 virtual void FindVertices()= 0;
32e449be 31 virtual AliMultiplicity* GetMultiplicity() const {return fMult;}
2257f27e 32 virtual void PrintStatus() const = 0;
594d8990 33 virtual void SetDebug(Int_t debug = 0);
2257f27e 34 virtual void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
35 virtual void SetLastEvent(Int_t ev){fLastEvent = ev;}
2257f27e 36 virtual void WriteCurrentVertex() = 0;
37
38
39 protected:
40 // copy constructor (NO copy allowed: the constructor is protected
41 // to avoid misuse)
42 AliVertexer(const AliVertexer& vtxr);
43 // assignment operator (NO assignment allowed)
44 AliVertexer& operator=(const AliVertexer& /* vtxr */);
45
46 AliESDVertex *fCurrentVertex; //! pointer to the vertex of the current
47 // event
48 Int_t fFirstEvent; // First event to be processed by FindVertices
49 Int_t fLastEvent; // Last event to be processed by FindVertices
50 Int_t fDebug; //! debug flag - verbose printing if >0
32e449be 51 AliMultiplicity *fMult; //! Multiplicity object
2257f27e 52
32e449be 53 ClassDef(AliVertexer,2);
2257f27e 54};
55
56#endif