LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONPainterGroup.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 16 6.2 %
Date: 2016-06-14 17:26:59 Functions: 1 20 5.0 %

          Line data    Source code
       1             : #ifndef ALIMUONPAINTERGROUP_H
       2             : #define ALIMUONPAINTERGROUP_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 graphics
      10             : /// \class AliMUONPainterGroup
      11             : /// \brief A group of AliMUONVPainter
      12             : /// 
      13             : // Author Laurent Aphecetche, Subatech
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : #ifndef ROOT_TString
      19             : #  include "TString.h"
      20             : #endif
      21             : 
      22             : class AliMUONVPainter;
      23             : class AliMUONVTrackerData;
      24             : 
      25             : class AliMUONPainterGroup : public TObject
      26             : {
      27             : public:
      28             :   AliMUONPainterGroup();
      29             :   AliMUONPainterGroup(const char* type, Int_t depth);
      30             :   virtual ~AliMUONPainterGroup();
      31             :   
      32             :   Bool_t Add(AliMUONVPainter* painter);
      33             :   
      34             :   void ComputeDataRange(Double_t& dataMin, Double_t& dataMax);
      35             :   
      36             :   /// Return the data we are plotting
      37           0 :   AliMUONVTrackerData* Data() const { return fData; }
      38             :   
      39             :   /// Return the index within the data
      40           0 :   Int_t DataIndex() const { return fDataIndex; }
      41             :   
      42             :   /// Max data we are plotting
      43           0 :   Double_t DataMax() const { return fDataMax; }
      44             :   
      45             :   /// Min data we are plotting
      46           0 :   Double_t DataMin() const { return fDataMin; }
      47             :   
      48             :   /// Depth
      49           0 :   Int_t Depth() const { return fDepth; }
      50             :   
      51             :   void Draw(Option_t* opt="");
      52             :   
      53             :   AliMUONVPainter* First() const;
      54             :   
      55             :   /// We are sortable (by type)
      56           0 :   Bool_t IsSortable() const { return kTRUE; }
      57             :   
      58             :   Int_t Compare(const TObject* obj) const;
      59             :   
      60             :   /// Whether we should outline ourselves
      61           0 :   Bool_t IsOutlined() const { return fIsOutlined; }
      62             :   
      63             :   /// Whether we are the plotting group
      64           0 :   Bool_t IsPlotter() const { return fData != 0 && fDataIndex >= 0; }
      65             : 
      66             :   /// Whether we are the responder group
      67           0 :   Bool_t IsResponder() const { return fIsResponder; }
      68             :   
      69             :   /// Whether we are visible
      70           0 :   Bool_t IsVisible() const { return fIsVisible; }
      71             :   
      72             :   Bool_t Matches(const char* pattern) const;
      73             :   
      74             :   void Print(Option_t* opt="") const;
      75             :   
      76             :   void SetData(AliMUONVTrackerData* data, Int_t dataIndex);
      77             :   
      78             :   /// Set the data range
      79             :   void SetDataRange(Double_t min, Double_t max)
      80           0 :   { fDataMin = min; fDataMax = max; }
      81             :   
      82             :   Int_t GetLineColor() const;
      83             :   
      84             :   Int_t GetLineWidth() const;
      85             :   
      86             :   void SetLine(Int_t lineColor, Int_t lineWidth);
      87             :   
      88             :   /// Set the outlined flag
      89           0 :   void SetOutlined(Bool_t flag=kTRUE) { fIsOutlined = flag; }
      90             :   
      91             :   /// Set the responder flag
      92           0 :   void SetResponder(Bool_t flag=kTRUE) { fIsResponder = flag; }
      93             :   
      94             :   /// Set the visible flag
      95           0 :   void SetVisible(Bool_t flag=kTRUE) { fIsVisible = flag; }
      96             :   
      97             :   /// Our type
      98           0 :   const char* Type() const { return fType.Data(); }
      99             :   
     100             : private:
     101             :   /// Not implemented
     102             :   AliMUONPainterGroup(const AliMUONPainterGroup& rhs);
     103             :   /// Not implemented
     104             :   AliMUONPainterGroup& operator=(const AliMUONPainterGroup& rhs);
     105             :   
     106             : private:
     107             :   TString fType; ///< type of this group (e.g. PADS, MANU, PCB, etc...)
     108             :   Bool_t fIsResponder; ///< whether we are responding to mouse events
     109             :   Bool_t fIsVisible; ///< whether we are visible
     110             :   AliMUONVTrackerData* fData; ///< the data we plot (can be 0x0)
     111             :   Int_t fDataIndex; ///< the index of the data to plot (can be -1 if data=0x0)
     112             :   Double_t fDataMin; ///< min data
     113             :   Double_t fDataMax; ///< max data
     114             :   TObjArray* fPainters; ///< painters of this group
     115             :   Int_t fDepth; ///< depth in the hierarchy of painters
     116             :   Bool_t fIsOutlined; ///< whether we should be outlined
     117             :   
     118          12 :   ClassDef(AliMUONPainterGroup,1) // Group of AliMUONVPainter
     119             : };
     120             : 
     121             : #endif

Generated by: LCOV version 1.11