ROOT logo
#ifndef ALIRECPOINT_H
#define ALIRECPOINT_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

////////////////////////////////////////////////
//  Base class for Reconstructed Point        //
//  Version 0.1                               //
//  Author Yves Schutz     SUBATECH           //
//                                            //  
//                                            //
////////////////////////////////////////////////

// --- Standard library ---


// --- ROOT system ---

#include <TObject.h>
#include <TMatrixFfwd.h>
#include <TVector3.h>

// --- AliRoot header files ---

class AliDigitNew;
class AliGeometry;

class AliRecPoint : public TObject {

public:

  AliRecPoint() ;                   // ctor            
  AliRecPoint(const char * opt) ;                   // ctor            
  AliRecPoint(const AliRecPoint &recp);  // copy ctor
  virtual ~AliRecPoint() ;          // dtor
 
  virtual void  AddDigit(AliDigitNew & digit) ;  // add a digit to the digit's indexes list  
  //  virtual void  AddTrack(AliTrack & track) ;  // add a track to the tracks list  
  virtual void  GetCovarianceMatrix(TMatrixF & mat) const;
  virtual AliGeometry * GetGeom() const { return fGeom; } 
  virtual void  GetGlobalPosition(TVector3 & gpos, TMatrixF & gmat) const ; // return global position in ALICE
  virtual int * GetDigitsList(void) const { return fDigitsList ; }
  //  virtual int * GetTracksList(void) const { return fTracksList ; }
  virtual Float_t GetEnergy() const {return fAmp; } 
  virtual void  GetLocalPosition(TVector3 & pos) const ;
  virtual Int_t GetDigitsMultiplicity(void) const { return fMulDigit ; }
  Int_t         GetIndexInList() const { return fIndexInList ; } 
  virtual Int_t GetMaximumDigitMultiplicity() const { return  fMaxDigit; } 
  virtual Int_t GetMaximumTrackMultiplicity() const { return  fMaxTrack; } 
  virtual Int_t GetTracksMultiplicity(void) const { return fMulTrack ; }
  AliRecPoint & operator= (const AliRecPoint &recp);

  void          SetIndexInList(Int_t val) { fIndexInList = val ; } 


protected:
  void  Copy(TObject &recp) const;

  Float_t       fAmp ;        // summed amplitude of digits 
  AliGeometry * fGeom ;       //! pointer to the geometry class 
  Int_t         fIndexInList ;// the index of this RecPoint in the list stored in TreeR (to be set by analysis)
  TVector3      fLocPos ;     // local position in the sub-detector coordinate
  TMatrixF *     fLocPosM ;    // covariance matrix ;  
  Int_t         fMaxDigit ;   //! max initial size of digits array (not saved)
  Int_t         fMulDigit ;   // total multiplicity of digits
  Int_t         fMaxTrack ;   //! max initial size of tracks array (not saved)
  Int_t         fMulTrack ;   // total multiplicity of tracks
  Int_t *       fDigitsList ; //[fMulDigit] list of digit's indexes from which the point was reconstructed 
  Int_t *       fTracksList ; //[fMulTrack] list of tracks to which the point was assigned 

  ClassDef(AliRecPoint,1) // Base class for reconstructed space points
 
};

#endif // ALIRECPOINT_H
 AliRecPoint.h:1
 AliRecPoint.h:2
 AliRecPoint.h:3
 AliRecPoint.h:4
 AliRecPoint.h:5
 AliRecPoint.h:6
 AliRecPoint.h:7
 AliRecPoint.h:8
 AliRecPoint.h:9
 AliRecPoint.h:10
 AliRecPoint.h:11
 AliRecPoint.h:12
 AliRecPoint.h:13
 AliRecPoint.h:14
 AliRecPoint.h:15
 AliRecPoint.h:16
 AliRecPoint.h:17
 AliRecPoint.h:18
 AliRecPoint.h:19
 AliRecPoint.h:20
 AliRecPoint.h:21
 AliRecPoint.h:22
 AliRecPoint.h:23
 AliRecPoint.h:24
 AliRecPoint.h:25
 AliRecPoint.h:26
 AliRecPoint.h:27
 AliRecPoint.h:28
 AliRecPoint.h:29
 AliRecPoint.h:30
 AliRecPoint.h:31
 AliRecPoint.h:32
 AliRecPoint.h:33
 AliRecPoint.h:34
 AliRecPoint.h:35
 AliRecPoint.h:36
 AliRecPoint.h:37
 AliRecPoint.h:38
 AliRecPoint.h:39
 AliRecPoint.h:40
 AliRecPoint.h:41
 AliRecPoint.h:42
 AliRecPoint.h:43
 AliRecPoint.h:44
 AliRecPoint.h:45
 AliRecPoint.h:46
 AliRecPoint.h:47
 AliRecPoint.h:48
 AliRecPoint.h:49
 AliRecPoint.h:50
 AliRecPoint.h:51
 AliRecPoint.h:52
 AliRecPoint.h:53
 AliRecPoint.h:54
 AliRecPoint.h:55
 AliRecPoint.h:56
 AliRecPoint.h:57
 AliRecPoint.h:58
 AliRecPoint.h:59
 AliRecPoint.h:60
 AliRecPoint.h:61
 AliRecPoint.h:62
 AliRecPoint.h:63
 AliRecPoint.h:64
 AliRecPoint.h:65
 AliRecPoint.h:66
 AliRecPoint.h:67
 AliRecPoint.h:68
 AliRecPoint.h:69
 AliRecPoint.h:70
 AliRecPoint.h:71
 AliRecPoint.h:72
 AliRecPoint.h:73
 AliRecPoint.h:74
 AliRecPoint.h:75
 AliRecPoint.h:76
 AliRecPoint.h:77