]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | class TFile; | |
14 | class TString; | |
15 | class TTRee; | |
16 | class AliESDVertex; | |
17 | ||
18 | ||
19 | class 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; |
2257f27e | 33 | virtual void SetFirstEvent(Int_t ev){fFirstEvent = ev;} |
34 | virtual void SetLastEvent(Int_t ev){fLastEvent = ev;} | |
4b3f8cff | 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); | |
2257f27e | 41 | virtual void WriteCurrentVertex() = 0; |
42 | ||
43 | ||
44 | protected: | |
45 | // copy constructor (NO copy allowed: the constructor is protected | |
46 | // to avoid misuse) | |
47 | AliVertexer(const AliVertexer& vtxr); | |
48 | // assignment operator (NO assignment allowed) | |
49 | AliVertexer& operator=(const AliVertexer& /* vtxr */); | |
50 | ||
51 | AliESDVertex *fCurrentVertex; //! pointer to the vertex of the current | |
52 | // event | |
53 | Int_t fFirstEvent; // First event to be processed by FindVertices | |
54 | Int_t fLastEvent; // Last event to be processed by FindVertices | |
4b3f8cff | 55 | Double_t fNominalPos[3]; // initial knowledge on vertex position |
56 | Double_t fNominalCov[6]; // initial knowledge on vertex position | |
32e449be | 57 | AliMultiplicity *fMult; //! Multiplicity object |
2257f27e | 58 | |
4b3f8cff | 59 | ClassDef(AliVertexer,3); |
2257f27e | 60 | }; |
61 | ||
62 | #endif |