]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFDigitMap.h
AliTOFDigitMap, AliTOFReconstructionerV2 and AliTOFTrackV2 added.Fixed bug on AliTOFS...
[u/mrichter/AliRoot.git] / TOF / AliTOFDigitMap.h
diff --git a/TOF/AliTOFDigitMap.h b/TOF/AliTOFDigitMap.h
new file mode 100644 (file)
index 0000000..1c0267f
--- /dev/null
@@ -0,0 +1,60 @@
+#ifndef ALITOFDIGITMAP_H
+#define ALITOFDIGITMAP_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+
+////////////////////////////////////////////////////////////////////////
+//
+// AliTOFDigitMap class
+//
+// digitmap enables fast check if the pad was already hit
+//
+// Author: F. Pierella | pierella@bo.infn.it
+//
+////////////////////////////////////////////////////////////////////////
+
+#include "AliHitMap.h"
+#include "TObject.h"
+class TClonesArray;
+
+class AliTOFDigitMap : public TObject
+{
+ public:
+    AliTOFDigitMap();
+    AliTOFDigitMap(TClonesArray *dig);
+    AliTOFDigitMap(const AliTOFDigitMap & digitMap);
+    
+    virtual ~AliTOFDigitMap();
+    // Clear the hit map
+    virtual  void  Clear(const char *opt = "");
+    // Set a single hit
+    virtual  void  SetHit(Int_t *vol, Int_t idigit);
+    virtual  void  SetHit(Int_t *vol);
+    // Get index of hit in the list of digits
+    virtual Int_t  GetHitIndex(Int_t *vol) const;
+    // Get pointer to digit
+    virtual TObject*  GetHit(Int_t *vol) const;
+    // Test hit status
+    virtual FlagType TestHit(Int_t *vol) const;
+    // Assignment operator
+    AliTOFDigitMap& operator = (const AliTOFDigitMap& rhs);
+    
+ private:
+    // Check index
+    Int_t CheckedIndex(Int_t *vol) const;
+ private:
+    Int_t fNSector;                       // Number of sectors
+    Int_t fNplate;                        // Number of plates
+    Int_t fNstrip;                        // Maximum number of strips
+    Int_t fNpx;                           // Number of pads in x
+    Int_t fNpy;                           // Number of pads in y
+
+    TClonesArray *fDigits;               // Pointer to sdigits
+    Int_t fMaxIndex;                      // maximum index in hit map
+    Int_t *fDigitMap;                       // ! [fMaxIndex]         
+
+    ClassDef(AliTOFDigitMap,0) // Implements DigitMap as a 1-dim array
+};
+#endif