LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONPainterDataRegistry.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 9 11.1 %

          Line data    Source code
       1             : #ifndef ALIMUONPAINTERDATAREGISTRY_H
       2             : #define ALIMUONPAINTERDATAREGISTRY_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: AliMUONPainterDataRegistry.h 26812 2008-06-20 15:22:59Z laphecet $
       8             : 
       9             : /// \ingroup graphics
      10             : /// \class AliMUONPainterDataRegistry
      11             : /// \brief Registry for painter data sources
      12             : /// 
      13             : // Author Laurent Aphecetche, Subatech
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : #ifndef ROOT_TQObject
      19             : #  include <TQObject.h>
      20             : #endif
      21             : 
      22             : class TObjArray;
      23             : class AliMUONVTrackerData;
      24             : class AliMUONVTrackerDataMaker;
      25             : 
      26             : class AliMUONPainterDataRegistry : public TObject, public TQObject
      27             : {
      28             : public:
      29             :   virtual ~AliMUONPainterDataRegistry();
      30             : 
      31             :   AliMUONVTrackerDataMaker* DataMaker(Int_t i) const;
      32             : 
      33             :   AliMUONVTrackerData* DataSource(Int_t i) const;
      34             :   
      35             :   AliMUONVTrackerData* DataSource(const char* name) const;
      36             : 
      37             :   AliMUONVTrackerData* InteractiveReadOutConfig() const;
      38             :   
      39             :   void DataSourceWasRegistered(const AliMUONVTrackerData* data); // *SIGNAL*
      40             :   
      41             :   void DataSourceWasUnregistered(const AliMUONVTrackerData* data); // *SIGNAL*
      42             : 
      43             :   void DataMakerWasRegistered(const AliMUONVTrackerDataMaker* reader); // *SIGNAL*
      44             :   
      45             :   void DataMakerWasUnregistered(const AliMUONVTrackerDataMaker* reader); // *SIGNAL*
      46             :     
      47             :   static AliMUONPainterDataRegistry* Instance();
      48             :   
      49             :   Int_t NumberOfDataMakers() const;
      50             : 
      51             :   /// Number of data sources = data makers
      52           0 :   Int_t NumberOfDataSources() const { return NumberOfDataMakers(); }
      53             : 
      54             :   void Print(Option_t* opt) const;
      55             :   
      56             :   void Register(AliMUONVTrackerDataMaker* reader);
      57             : 
      58             :   Bool_t Unregister(AliMUONVTrackerDataMaker* reader);
      59             : 
      60             :   void DeleteZombies();
      61             :   
      62             : private:
      63             :   /// Not implemented
      64             :   AliMUONPainterDataRegistry();
      65             :   /// Not implemented
      66             :   AliMUONPainterDataRegistry(const AliMUONPainterDataRegistry&);
      67             :   /// Not implemented
      68             :   AliMUONPainterDataRegistry& operator=(const AliMUONPainterDataRegistry&);
      69             :   
      70             :   void CreateInteractiveReadOutConfig() const;
      71             :   
      72             : private:
      73             :   static AliMUONPainterDataRegistry* fgInstance; ///< unique instance
      74             :   TObjArray* fDataMakers; ///< data makers
      75             :   TObjArray* fZombies; ///< data readers to be deleted
      76             :   mutable AliMUONVTrackerData* fInteractiveReadOutConfig; ///< clickable readout configuration
      77             :   
      78          12 :   ClassDef(AliMUONPainterDataRegistry,1) // Registry for AliMUONVTrackerDataMaker objects
      79             : };
      80             : 
      81             : #endif

Generated by: LCOV version 1.11