]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDEdepMap.h
several updates for HFEv2 by TPC-EMCal EP
[u/mrichter/AliRoot.git] / FMD / AliFMDEdepMap.h
index ec77f2b9fbb0c0c2119fbfb30a202d56954806d6..7b88ae0cb0099c015f9d7c3cbe610268fcf4bc9e 100644 (file)
@@ -37,15 +37,17 @@ public:
       @param other Object to copy from. 
       @return  */
   AliFMDEdepMap(const AliFMDEdepMap& other);
+  /** Constructor */
+  AliFMDEdepMap();
   /** Constructor 
       @param maxDet  Number of detectors (3)
       @param maxRing Number of rings (2)
       @param maxSec  Number of sectors (40)
       @param maxStr  Number of strips (20) */
-  AliFMDEdepMap(size_t maxDet = kMaxDetectors
-               size_t maxRing= kMaxRings
-               size_t maxSec = kMaxSectors
-               size_t maxStr = kMaxStrips);
+  AliFMDEdepMap(UShort_t maxDet
+               UShort_t maxRing= 0
+               UShort_t maxSec = 0
+               UShort_t maxStr = 0);
   /** DTOR */
   virtual ~AliFMDEdepMap() { delete [] fData; }
   AliFMDEdepMap& operator=(const AliFMDEdepMap& other);
@@ -74,10 +76,22 @@ public:
                                              Char_t   ring, 
                                              UShort_t sector, 
                                              UShort_t strip) const;
+  void*     Ptr() const { return reinterpret_cast<void*>(fData); }
 protected:
-  size_t             fTotal; //  Total number of entries
+  Int_t     MaxIndex()            const { return fTotal; }
+  Int_t     AtAsInt(Int_t idx)    const { return fData[idx].fN; }
+  Int_t&    AtAsInt(Int_t idx)          { return AliFMDMap::AtAsInt(idx); }
+  Bool_t    AtAsBool(Int_t idx)   const { return fData[idx].fEdep > 0; }
+  Bool_t&   AtAsBool(Int_t idx)         { return AliFMDMap::AtAsBool(idx); }
+  Float_t   AtAsFloat(Int_t idx)  const { return fData[idx].fEdep; }
+  Float_t&  AtAsFloat(Int_t idx)        { return fData[idx].fEdep; }
+  UShort_t  AtAsUShort(Int_t idx) const { return fData[idx].fN; }
+  UShort_t& AtAsUShort(Int_t idx)       { return fData[idx].fN; }
+  Bool_t    IsUShort()            const { return kTRUE; }  
+  Bool_t    IsFloat()             const { return kTRUE; }  
+  Int_t              fTotal; //  Total number of entries
   AliFMDEdepHitPair* fData;  //[fTotal] The data 
-  ClassDef(AliFMDEdepMap, 2) // Cache of edep,hit information per strip
+  ClassDef(AliFMDEdepMap, 3) // Cache of edep,hit information per strip
 };
 
 #endif