LCOV - code coverage report
Current view: top level - FMD/FMDsim - AliFMDEdepMap.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 14 14.3 %
Date: 2016-06-14 17:26:59 Functions: 3 20 15.0 %

          Line data    Source code
       1             : #ifndef ALIFMDEDEPMAP_H
       2             : #define ALIFMDEDEPMAP_H
       3             : /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
       4             :  * reserved. 
       5             :  *
       6             :  * See cxx source for full Copyright notice                               
       7             :  */
       8             : /** @file    AliFMDEdepMap.h
       9             :     @author  Christian Holm Christensen <cholm@nbi.dk>
      10             :     @date    Mon Mar 27 12:39:50 2006
      11             :     @brief   Per strip map of energy deposited and number of hits 
      12             :     @ingroup FMD_sim
      13             : */
      14             : //
      15             : // Contains a pair of energy deposited @c fEdep and number of hits @c
      16             : // fN, @c fEdep is the summed energy deposition, and @c fN is the
      17             : // number of hits  
      18             : #ifndef ALIFMDMAP_H
      19             : # include "AliFMDMap.h"
      20             : #endif 
      21             : #ifndef ALIFMDEDEPHITPAIR_H
      22             : # include <AliFMDEdepHitPair.h>
      23             : #endif
      24             : 
      25             : 
      26             : //____________________________________________________________________
      27             : /** @brief Map of Energy deposited, hit information per strip.
      28             :     Contains a pair of energy deposited @c fEdep and 
      29             :     number of hits @c fN, @c fEdep is the summed energy deposition,
      30             :     and @c fN is the number of hits 
      31             :     @ingroup FMD_sim
      32             : */
      33             : class AliFMDEdepMap : public AliFMDMap
      34             : {
      35             : public:
      36             :   /** Copy constructor 
      37             :       @param other Object to copy from. 
      38             :       @return  */
      39             :   AliFMDEdepMap(const AliFMDEdepMap& other);
      40             :   /** Constructor */
      41             :   AliFMDEdepMap();
      42             :   /** Constructor 
      43             :       @param maxDet  Number of detectors (3)
      44             :       @param maxRing Number of rings (2)
      45             :       @param maxSec  Number of sectors (40)
      46             :       @param maxStr  Number of strips (20) */
      47             :   AliFMDEdepMap(UShort_t maxDet, 
      48             :                 UShort_t maxRing= 0, 
      49             :                 UShort_t maxSec = 0, 
      50             :                 UShort_t maxStr = 0);
      51             :   /** DTOR */
      52      102414 :   virtual ~AliFMDEdepMap() { delete [] fData; }
      53             :   AliFMDEdepMap& operator=(const AliFMDEdepMap& other);
      54             :   /** Reset to default */
      55             :   virtual void Reset();
      56             :   /** Reset to value 
      57             :       @param val Value to reset from */
      58             :   virtual void Reset(const AliFMDEdepHitPair& val);
      59             :   /** Access operator 
      60             :       @param detector Detector 
      61             :       @param ring     Ring 
      62             :       @param sector   Sector  
      63             :       @param strip    Strip
      64             :       @return  reference value stored for the strip */
      65             :   virtual AliFMDEdepHitPair& operator()(UShort_t detector, 
      66             :                                         Char_t   ring, 
      67             :                                         UShort_t sector, 
      68             :                                         UShort_t strip);
      69             :   /** Access operator 
      70             :       @param detector Detector 
      71             :       @param ring     Ring 
      72             :       @param sector   Sector  
      73             :       @param strip    Strip
      74             :       @return value stored for the strip */
      75             :   virtual const AliFMDEdepHitPair& operator()(UShort_t detector, 
      76             :                                               Char_t   ring, 
      77             :                                               UShort_t sector, 
      78             :                                               UShort_t strip) const;
      79           0 :   void*     Ptr() const { return reinterpret_cast<void*>(fData); }
      80             : protected:
      81           0 :   Int_t     MaxIndex()            const { return fTotal; }
      82           0 :   Int_t     AtAsInt(Int_t idx)    const { return fData[idx].fN; }
      83           0 :   Int_t&    AtAsInt(Int_t idx)          { return AliFMDMap::AtAsInt(idx); }
      84           0 :   Bool_t    AtAsBool(Int_t idx)   const { return fData[idx].fEdep > 0; }
      85           0 :   Bool_t&   AtAsBool(Int_t idx)         { return AliFMDMap::AtAsBool(idx); }
      86           0 :   Float_t   AtAsFloat(Int_t idx)  const { return fData[idx].fEdep; }
      87           0 :   Float_t&  AtAsFloat(Int_t idx)        { return fData[idx].fEdep; }
      88           0 :   UShort_t  AtAsUShort(Int_t idx) const { return fData[idx].fN; }
      89           0 :   UShort_t& AtAsUShort(Int_t idx)       { return fData[idx].fN; }
      90           0 :   Bool_t    IsUShort()            const { return kTRUE; }  
      91           0 :   Bool_t    IsFloat()             const { return kTRUE; }  
      92             :   Int_t              fTotal; //  Total number of entries
      93             :   AliFMDEdepHitPair* fData;  //[fTotal] The data 
      94          12 :   ClassDef(AliFMDEdepMap, 3) // Cache of edep,hit information per strip
      95             : };
      96             : 
      97             : #endif 
      98             : //____________________________________________________________________
      99             : //
     100             : // Local Variables:
     101             : //   mode: C++
     102             : // End:
     103             : //
     104             : // EOF
     105             : //
     106             : 
     107             : 

Generated by: LCOV version 1.11