LCOV - code coverage report
Current view: top level - MUON/MUONbase - AliMUONPadStatusMapMaker.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 3 66.7 %
Date: 2016-06-14 17:26:59 Functions: 3 7 42.9 %

          Line data    Source code
       1             : #ifndef ALIMUONPADSTATUSMAPMAKER_H
       2             : #define ALIMUONPADSTATUSMAPMAKER_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             : * See cxx source for full Copyright notice                               */
       6             : 
       7             : // $Id$
       8             : 
       9             : /// \ingroup rec
      10             : /// \class AliMUONPadStatusMapMaker
      11             : /// \brief Convert a pad status container into a pad status *map* container
      12             : /// 
      13             : //  Author Laurent Aphecetche
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : 
      19             : class AliMUONPadStatusMaker;
      20             : class AliMUONVCalibParam;
      21             : class AliMUONVStore;
      22             : 
      23             : class AliMUONPadStatusMapMaker : public TObject
      24             : {
      25             : public:
      26             :   AliMUONPadStatusMapMaker(const AliMUONPadStatusMaker& padStatusMaker,
      27             :                            Int_t mask,
      28             :                            Bool_t deferredInitialization=kTRUE);
      29             :   virtual ~AliMUONPadStatusMapMaker();
      30             :   
      31             :   /** Get access to internal status map store (for debug only, as it may not be complete,
      32             :     depending on whether you've already called StatusMap() for all possible de,manu,channel
      33             :     combinations or not...
      34             :     */
      35           0 :   AliMUONVStore* StatusMap() const { return fStatusMap; }
      36             :   
      37             :   Int_t StatusMap(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
      38             :   
      39             :   /// Return status bit map to tell a pad is bad
      40        5664 :   static Int_t SelfDeadMask() { return fgkSelfDead; }
      41             :   
      42             :   void RefreshRejectProbabilities(); 
      43             :   
      44             : private:
      45             :   /// Not implemented
      46             :   AliMUONPadStatusMapMaker(const AliMUONPadStatusMapMaker&);
      47             :   /// Not implemented
      48             :   AliMUONPadStatusMapMaker& operator=(const AliMUONPadStatusMapMaker&);
      49             : 
      50             : private:
      51             :     
      52             :   AliMUONVCalibParam* ComputeStatusMap(Int_t detElemId, Int_t manuId) const;
      53             :   
      54             : private:
      55             :   
      56             :   static Int_t fgkSelfDead; //!<! status bit map to tell a pad is bad
      57             : 
      58             :   /// Bit numbers
      59             :   enum EBitNumbers
      60             :   {
      61             :     kLeftBottomBit = 6,
      62             :     kLeftBit = 7,
      63             :     kLeftTopBit = 8,
      64             :     kBottomBit = 11,
      65             :     kCenterBit = 12,
      66             :     kTopBit = 13,
      67             :     kRightBottomBit = 16,
      68             :     kRightBit = 17,
      69             :     kRightTopBit = 18
      70             :   };
      71             :   
      72             :   const AliMUONPadStatusMaker& fkStatusMaker; //!<! to access pad statuses
      73             :   Int_t fMask; //!<! mask to be tested
      74             :   mutable AliMUONVStore* fStatusMap; //!<! status map
      75             :   AliMUONVStore* fRejectProbabilities; //!<! reject probabilities (channel based, computed once per run)
      76             :   AliMUONVStore* fRejectList; //!<! reject list (which channels should be rejected, might change event-by-event for simulations)
      77             :   Bool_t fComputeOnDemand; //!<! whether we authorize to compute things on demand or not
      78             :   
      79         874 :   ClassDef(AliMUONPadStatusMapMaker,0) // Pad status map maker
      80             : };
      81             : 
      82             : #endif

Generated by: LCOV version 1.11