]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSMap.h
Coding conventions and fixes (M.Masera,D.Elia)
[u/mrichter/AliRoot.git] / ITS / AliITSMap.h
index 97ddeee3d500e32380ff53426286bc1e8accbb37..b8bf8db1d1518e895fbd0f4b017e00db294146de 100644 (file)
 #ifndef ALIITSMAP_H
 #define ALIITSMAP_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice     */
+/* $Id$ */
+////////////////////////////////////////////////
+//  Map Class for ITS.                        //
+////////////////////////////////////////////////
 
-
-#include "AliITS.h"
-
-typedef enum {kEmpty, kUsed, kUnused} Flag_t;
+#include <TObject.h>
+#include <TArrayI.h>
+typedef enum {kEmpty, kUsed, kUnused} FlagType;
 
 //___________________________________________________________________________
 
-class AliITSMap :
-  public TObject {
-
-public:
-  virtual ~AliITSMap() {}
-  virtual  void  FillMap()                                       =0;
-  virtual  void  ClearMap()                                      =0;
-  virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit)        =0;
-  virtual  void  DeleteHit(Int_t iz, Int_t ix)                   =0;
-  virtual  void   FlagHit(Int_t iz, Int_t ix)                    =0;    
-  virtual Int_t  GetHitIndex(Int_t iz, Int_t ix)                 =0;
-  virtual TObject * GetHit(Int_t iz, Int_t ix)                   =0;
-  virtual Flag_t TestHit(Int_t iz, Int_t ix)                     =0;
-  virtual Double_t  GetSignal(Int_t iz, Int_t ix)                =0;
-  
-  ClassDef(AliITSMap,1) //virtual base class for ITS Hit/Digit Map
-
-    };
-
-
-class AliITSMapA1 :
-  public AliITSMap 
-{
-  
-public:
-  AliITSMapA1() {
-    // constructor
-  }
-  AliITSMapA1(AliITSsegmentation *seg);
-  AliITSMapA1(AliITSsegmentation *seg, TObjArray *dig);
-  AliITSMapA1(const AliITSMapA1 &source); // copy constructor
-  AliITSMapA1& operator=(const AliITSMapA1 &source); // assignment operator
-  
-  virtual ~AliITSMapA1();
-  virtual  void  FillMap();
-  virtual  void  ClearMap();    
-  virtual Double_t  GetSignal(Int_t iz, Int_t ix) {
-    // get signal
-    return 0.;
-  }
-  virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit);
-  virtual void  DeleteHit(Int_t iz, Int_t ix);
-  virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
-  virtual TObject*  GetHit(Int_t iz, Int_t ix);
-  virtual  void  FlagHit(Int_t iz, Int_t ix);    
-  virtual Flag_t TestHit(Int_t iz, Int_t ix);
-  Int_t  CheckedIndex(Int_t iz, Int_t ix);
-  Int_t   MaxIndex() {
-    // max index
-    return fMaxIndex;
-  }
-  void SetArray(TObjArray *obj);
-  
-protected:
-  AliITSsegmentation *fSegmentation;   // segmentation class
-  Int_t fNpx;                          // fNpx
-  Int_t fNpz;                          // fNpz
-  TObjArray  *fObjects;                // object
-  Int_t fNobjects;                     // nu of object
-  Int_t fMaxIndex;                     // max index
-  
-private:
-  Int_t *fHitMap;                      // hit map
-
-  ClassDef(AliITSMapA1,1) // Implements Hit/Digit Map for SDD - read tree
-    };
-
-
-class AliITSMapA2 :
-public AliITSMapA1 
-{
-
-public:
-  AliITSMapA2(AliITSsegmentation *seg);
-  AliITSMapA2(AliITSsegmentation *seg, TObjArray *hist,Double_t thresh);
-  virtual ~AliITSMapA2();
-  AliITSMapA2(const AliITSMapA2 &source); // copy constructor
-  AliITSMapA2& operator=(const AliITSMapA2 &source); // assignment operator
-  virtual  void  FillMap();
-  virtual  void  ClearMap();    
-  virtual  void  SetHit(Int_t iz, Int_t ix, Int_t signal){
-    // set hit
-  }
-  virtual  void  FlagHit(Int_t iz, Int_t ix);    
-  virtual  void  DeleteHit(Int_t iz, Int_t ix);
-  virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
-  virtual TObject * GetHit(Int_t iz, Int_t dummy);
-  virtual Flag_t TestHit(Int_t iz, Int_t ix);
-  virtual Double_t  GetSignal(Int_t iz, Int_t ix);
-  void  SetHit(Int_t iz, Int_t ix, Double_t signal);
-  Double_t  GetSignal(Int_t index);
-
-private:
-  Double_t *fHitMap;        // fHitMap
-  Double_t fMapThreshold;   // fMapThreshold
-
-  void  FillMapFromHist();
-  void  FillHist();
-  void  ResetHist();
-  
-  ClassDef(AliITSMapA2,1) // Implements Signal Map for SDD -fill or read hist
-    };
-
+class AliITSMap : public TObject {
+
+ public:
+    virtual ~AliITSMap() {}
+    // Fill hits from list of digits into hit map
+    virtual  void  FillMap()                                       =0;
+    virtual  void  FillMap2()                                      =0;
+    // Clear the map
+    virtual  void  ClearMap()                                      =0;
+    // Set a single hit
+    virtual  void  SetHit(Int_t iz, Int_t ix, Int_t idigit)        =0;
+    // Set threshold for the signal
+    virtual  void  SetThreshold(Int_t)                             =0;
+    virtual  void  SetThresholdArr(TArrayI)                        =0;
+    // Delete a single hit
+    virtual  void  DeleteHit(Int_t iz, Int_t ix)                   =0;
+    // Flag a hit as used
+    virtual  void  FlagHit(Int_t iz, Int_t ix)                     =0;    
+    // Get index of hit in the list of digits
+    virtual Int_t  GetHitIndex(Int_t iz, Int_t ix) const           =0;
+    // Get pointer to digit
+    virtual TObject * GetHit(Int_t iz, Int_t ix) const             =0;
+    // Test hit status
+    virtual FlagType TestHit(Int_t iz, Int_t ix)                   =0;
+    // Get signal from map
+    virtual Double_t  GetSignal(Int_t iz, Int_t ix) const          =0;
+
+    ClassDef(AliITSMap,1) //virtual base class for ITS Hit/Digit Map
+
+};
 
 #endif