New code from Piergiorgio added
[u/mrichter/AliRoot.git] / STEER / AliRecPoint.h
CommitLineData
2a33668d 1#ifndef ALIRECPOINT_H
2#define ALIRECPOINT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8////////////////////////////////////////////////
9// Base class for Reconstructed Point //
10// Version 0.1 //
11// Author Yves Schutz SUBATECH //
12// //
13// //
14////////////////////////////////////////////////
15
16// --- ROOT system ---
17
18#include "TObject.h"
19#include "TVector3.h"
20#include "TMatrix.h"
65a2d2b0 21#include "TClonesArray.h"
2a33668d 22
23// --- Standard library ---
24
25#include "assert.h"
26#include "iostream.h"
27
28// --- AliRoot header files ---
29
30#include "AliDigitNew.h"
31#include "AliGeometry.h"
32//#include "AliTrack.h"
33
34
35class AliGeometry;
36
37class AliRecPoint : public TObject {
38
39public:
40
41 AliRecPoint() ; // ctor
aee8290b 42 AliRecPoint(const AliRecPoint &recp); // copy ctor
2a33668d 43 virtual ~AliRecPoint() ; // dtor
44
65a2d2b0 45 virtual void AddDigit(AliDigitNew & digit) ; // add a digit to the digit's indexes list
2a33668d 46 // virtual void AddTrack(AliTrack & track) ; // add a track to the tracks list
ef42d733 47 void Copy(AliRecPoint &recp) const;
2a33668d 48 virtual void GetCovarianceMatrix(TMatrix & mat) ;
49 virtual AliGeometry * GetGeom() const { return fGeom; }
50 virtual void GetGlobalPosition(TVector3 & gpos, TMatrix & gmat) ; // return the global position in ALICE
51 virtual int * GetDigitsList(void) const { return fDigitsList ; }
52 // virtual int * GetTracksList(void) const { return fTracksList ; }
53 virtual Float_t GetEnergy() {return fAmp; }
54 virtual void GetLocalPosition(TVector3 & pos) ;
55 virtual Int_t GetDigitsMultiplicity(void) const { return fMulDigit ; }
65a2d2b0 56 Int_t GetIndexInList() const { return fIndexInList ; }
2a33668d 57 virtual Int_t GetMaximumDigitMultiplicity() const { return fMaxDigit; }
58 virtual Int_t GetMaximumTrackMultiplicity() const { return fMaxTrack; }
59 virtual Int_t GetTracksMultiplicity(void) const { return fMulTrack ; }
60 virtual void Print(Option_t * opt = "void") = 0 ;
ef42d733 61 AliRecPoint & operator= (const AliRecPoint &recp);
65a2d2b0 62 void SetIndexInList(Int_t val) { fIndexInList = val ; }
2a33668d 63
64
65protected:
66
67 Float_t fAmp ; // summed amplitude of digits
65a2d2b0 68 AliGeometry * fGeom ; //! pointer to the geometry class
69 Int_t fIndexInList ;// the index of this RecPoint in the list stored in TreeR (to be set by analysis)
2a33668d 70 TVector3 fLocPos ; // local position in the sub-detector coordinate
71 TMatrix * fLocPosM ; // covariance matrix ;
72 Int_t fMaxDigit ; //! max initial size of digits array (not saved)
73 Int_t fMulDigit ; // total multiplicity of digits
74 Int_t fMaxTrack ; //! max initial size of tracks array (not saved)
75 Int_t fMulTrack ; // total multiplicity of tracks
712d6528 76 Int_t * fDigitsList ; //[fMulDigit] list of digit's indexes from which the point was reconstructed
77 Int_t * fTracksList ; //[fMulTrack] list of tracks to which the point was assigned
65a2d2b0 78
2a33668d 79 ClassDef(AliRecPoint,1)
80
81};
82
83#endif // ALIRECPOINT_H