LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpManuStore.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 2 6 33.3 %

          Line data    Source code
       1             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       2             :  * See cxx source for full Copyright notice                               */
       3             : 
       4             : // $Id$
       5             : // $MpId: AliMpManuStore.h,v 1.6 2006/05/24 13:58:16 ivana Exp $ 
       6             : 
       7             : /// \ingroup management
       8             : /// \class AliMpManuStore
       9             : /// \brief The container class for manu serial numbers
      10             : ///
      11             : /// \author Ivana Hrivnacova, IPN Orsay; Christian Finck, SUBATECH Nantes
      12             : 
      13             : #ifndef ALI_MP_MANU_STORE_H
      14             : #define ALI_MP_MANU_STORE_H
      15             : 
      16             : #include <TObject.h>
      17             : 
      18             : #include "AliMpPlaneType.h"
      19             : #include "AliMpStationType.h"
      20             : #include "AliMpEncodePair.h"
      21             : 
      22             : #include <TString.h>
      23             : #include <TExMap.h>
      24             : 
      25             : class AliMpDetElement;
      26             : class AliMpDataStreams;
      27             : class TString;
      28             : 
      29             : class AliMpManuStore : public  TObject {
      30             : 
      31             :   public:
      32             :     AliMpManuStore(TRootIOCtor* ioCtor);
      33             :     virtual ~AliMpManuStore();
      34             :     
      35             :     // static access method
      36             :     static AliMpManuStore* Instance(Bool_t warn = true); 
      37             :     static AliMpManuStore* ReadData(const AliMpDataStreams& dataStreams,
      38             :                                     Bool_t warn = true);
      39             :                                     
      40             :     static void SetWarnIfDoublon(Bool_t warn);                             
      41             :     
      42             :     
      43             :     // methods
      44             :     Bool_t  AddManu(Int_t detElemId, Int_t manuId, Int_t serialNb);
      45             : 
      46             :     Int_t  NofManus() const;
      47             :     Int_t  NofManus(Int_t detElemId) const;
      48             : 
      49             :     Int_t    GetManuSerial(Int_t detElemId, Int_t manuId) const;
      50             :     MpPair_t GetDetElemIdManu(Int_t manuSerial) const;
      51             : 
      52             :   private:
      53             :     AliMpManuStore(const AliMpDataStreams& dataStreams);
      54             :      /// Not implemented
      55             :     AliMpManuStore();
      56             :      /// Not implemented
      57             :     AliMpManuStore(const AliMpManuStore& rhs);
      58             :     /// Not implemented
      59             :     AliMpManuStore& operator=(const AliMpManuStore& rhs);
      60             :  
      61             :     // methods
      62             :     Bool_t ReadData(const AliMpDataStreams& dataStreams,
      63             :                     const AliMpDetElement* detElement, Int_t& nofManus);
      64             :     Bool_t ReadManuSerial(const AliMpDataStreams& dataStreams);
      65             :     
      66             :     // not yet in use methods
      67             :     void   ReplaceManu(Int_t detElemId, Int_t manuId, Int_t serialNb);
      68             :     Bool_t WriteData(const TString& outDir = "data_run_out");
      69             : 
      70             :     // static data members      
      71             :     static AliMpManuStore* fgInstance;      ///< Singleton instance
      72             :     static Bool_t          fgWarnIfDoublon; ///< Option to warn about doublons
      73             : 
      74             :     // data members     
      75             :     mutable TExMap fManuToSerialNbs; ///< Map from manuId to serial #   
      76             :     mutable TExMap fSerialNbToManus; ///< Map manu serial # to manuId
      77             :     mutable TExMap fNofManusInDE;    ///< Number of manus with serial nbs in DE
      78             :     Int_t          fNofManus;        ///< Total number of manus
      79             :       
      80       68246 :   ClassDef(AliMpManuStore,1)  // The manager class for definition of detection element types
      81             : };
      82             : 
      83             : // inline functions
      84             : 
      85             : inline void AliMpManuStore::SetWarnIfDoublon(Bool_t warn) 
      86             : { 
      87             : /// Set option to warn if the same serial number is present for more manus
      88             : 
      89           0 :   fgWarnIfDoublon = warn; 
      90           0 : }                                   
      91             :     
      92             :     
      93             : #endif //ALI_MP_MANU_STORE_H
      94             : 
      95             : 
      96             : 
      97             : 
      98             : 
      99             : 
     100             : 
     101             : 
     102             : 
     103             : 
     104             : 
     105             : 
     106             : 
     107             : 
     108             : 

Generated by: LCOV version 1.11