New primary vertex classes and macros (from A. Dainese and M. Masera)
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer.h
CommitLineData
c5f0f3c1 1#ifndef ALIITSVERTEXER_H
2#define ALIITSVERTEXER_H
3
4#include <TTree.h>
5#include <TFile.h>
6#include <AliITSVertex.h>
7#include <AliRun.h>
8
9
10///////////////////////////////////////////////////////////////////
11// //
12// Base class for primary vertex reconstruction //
13// //
14///////////////////////////////////////////////////////////////////
15
16
17
18class AliITSVertexer : public TObject {
19
20 public:
21 // default constructor
22 AliITSVertexer();
23 // standard constructor
24 AliITSVertexer(TFile *infile, TFile *outfile);
25 // destructor
26 virtual ~AliITSVertexer();
27 // computes the vertex for the current event
28 virtual AliITSVertex* FindVertexForCurrentEvent(Int_t evnumb)=0;
29 // computes the vetex for each event and stores it on fOutFile
30 virtual void FindVertices()= 0;
31 virtual void PrintStatus() const = 0;
32 virtual void SetDebug(Int_t debug = 0){fDebug = debug;}
33 virtual void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
34 virtual void SetLastEvent(Int_t ev){fLastEvent = ev;}
35 virtual void SetInputFile(TFile *infile){fInFile = infile;}
36 virtual void SetOutputFile(TFile *outfile){fOutFile = outfile;}
37 virtual void WriteCurrentVertex();
38
39
40 protected:
41 AliITSVertex *fCurrentVertex; //! pointer to the vertex of the current
42 // event
43 TFile *fInFile; //! pointer to the input file
44 TFile *fOutFile; //! pointer to the output file
45 Int_t fFirstEvent; // First event to be processed by FindVertices
46 Int_t fLastEvent; // Last event to be processed by FindVertices
47 Int_t fDebug; //! debug flag - verbose printing if >0
48
49 ClassDef(AliITSVertexer,1);
50};
51
52#endif