]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRecPoint.h
Coding convention corrections + few minor bug fixes
[u/mrichter/AliRoot.git] / STEER / AliRecPoint.h
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"
21 #include "TClonesArray.h"
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
35 class AliGeometry;
36
37 class AliRecPoint : public TObject {
38
39 public:
40
41   AliRecPoint() ;                   // ctor            
42   AliRecPoint(const AliRecPoint &recp);  // copy ctor
43   virtual ~AliRecPoint() ;          // dtor
44  
45   virtual void  AddDigit(AliDigitNew & digit) ;  // add a digit to the digit's indexes list  
46   //  virtual void  AddTrack(AliTrack & track) ;  // add a track to the tracks list  
47   virtual void  Copy(AliRecPoint &recp) const;
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 ; }
56   Int_t         GetIndexInList() const { return fIndexInList ; } 
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 ; 
61   virtual AliRecPoint & operator= (const AliRecPoint &recp);
62   void          SetIndexInList(Int_t val) { fIndexInList = val ; } 
63
64
65 protected:
66
67   Float_t       fAmp ;        // summed amplitude of digits 
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)
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
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 
78
79   ClassDef(AliRecPoint,1)
80  
81 };
82
83 #endif // ALIRECPOINT_H