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

          Line data    Source code
       1             : #ifndef ALIMUONPAINTERHELPER_H
       2             : #define ALIMUONPAINTERHELPER_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 AliMUONPainterHelper
      11             : /// \brief Utility class for the painters display
      12             : /// 
      13             : // Author Laurent Aphecetche, Subatech
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : 
      19             : #ifndef ROOT_TString
      20             : #  include "TString.h"
      21             : #endif
      22             : 
      23             : #ifndef ROOT_TVector2
      24             : #  include "TVector2.h"
      25             : #endif
      26             : 
      27             : #ifndef ALI_MP_PLANE_TYPE_H
      28             : #  include "AliMpPlaneType.h"
      29             : #endif
      30             : 
      31             : #ifndef ALI_MP_CATHOD_TYPE_H
      32             : #  include "AliMpCathodType.h"
      33             : #endif
      34             : 
      35             : #ifndef ALIMUONVPAINTER_H
      36             : #  include "AliMUONVPainter.h"
      37             : #endif
      38             : 
      39             : #ifndef ALI_MP_PAD_H
      40             : #  include "AliMpPad.h"
      41             : #endif
      42             : 
      43             : class AliMUONAttPainter;
      44             : class AliMUONContour;
      45             : class AliMUONContourHandler;
      46             : class AliMUONPainterEnv;
      47             : class AliMUONVCalibParam;
      48             : class AliMUONVTrackerData;
      49             : class AliMpExMap;
      50             : class AliMpMotifPosition;
      51             : class AliMpPCB;
      52             : class AliMpSector;
      53             : class AliMpSlat;
      54             : class TArrayI;
      55             : class TList;
      56             : class TObjArray;
      57             : 
      58             : class AliMUONPainterHelper : public TObject
      59             : {
      60             : public:
      61             :   AliMUONPainterHelper();
      62             :   virtual ~AliMUONPainterHelper();
      63             :     
      64             :   TString ChamberName(Int_t chamberId) const;
      65             :   TString StationName(Int_t stationId) const;
      66             :   TString DEName(Int_t detElemId) const;
      67             :   TString ManuName(Int_t manuId) const;
      68             :   TString BusPatchName(Int_t busPatchId) const;
      69             :   TString PCBName(Int_t pcbNumber) const;
      70             : 
      71             :   TString ChamberPathName(Int_t chamberId) const;
      72             :   TString StationPathName(Int_t stationId) const;
      73             :   TString DEPathName(Int_t detElemId) const;
      74             :   TString ManuPathName(Int_t detElemId, Int_t manuId) const;
      75             :   TString BusPatchPathName(Int_t busPatchId) const;
      76             :   TString PCBPathName(Int_t detElemId, Int_t pcbNumber) const;
      77             :   
      78             :   Int_t ColorFromValue(Double_t value, Double_t min, Double_t max) const;
      79             :   
      80             :   AliMp::CathodType GetCathodeType(Int_t detElemId, Int_t manuId) const;
      81             : 
      82             :   AliMUONContour* GetContour(const char* contourName, Bool_t explodedGeometry=kTRUE) const;
      83             : 
      84             :   /// Return a contour by name
      85           0 :   AliMUONContour* GetContour(const TString& contourName) const { return GetContour(contourName.Data()); }
      86             : 
      87             :   AliMpMotifPosition* GetMotifPosition(Int_t detElemId, Int_t manuId) const;
      88             :   
      89             :   AliMpPCB* GetPCB(Int_t detElemId, AliMp::PlaneType planeType, 
      90             :                    Int_t pcbNumber) const;
      91             : 
      92             :   AliMpPCB* GetPCB(Int_t detElemId, AliMp::CathodType cathodType,
      93             :                    Int_t pcbNumber) const;
      94             : 
      95             :   AliMp::PlaneType GetPlaneType(Int_t manuId) const;
      96             :   
      97             :   const AliMpSector* GetSector(Int_t detElemId, AliMp::PlaneType planeType) const;
      98             :     
      99             :   const AliMpSlat* GetSlat(Int_t detElemId, AliMp::PlaneType planeType) const;
     100             : 
     101             :   const AliMpSlat* GetSlat(Int_t detElemId, AliMp::CathodType cathodeType) const;
     102             : 
     103             :   const AliMpSlat* GetSlat(Int_t detElemId, Int_t manuId) const;
     104             : 
     105             :   static AliMUONPainterHelper* Instance();
     106             : 
     107             :   void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl,
     108             :                     Double_t& xg, Double_t& yg, Double_t& zg) const;
     109             : 
     110             :   void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg,
     111             :                      Double_t& xl, Double_t& yl, Double_t& zl) const;
     112             : 
     113             :   AliMUONContour* MergeContours(const TObjArray& contours, const char* contourName, Bool_t explodedGeometry=kTRUE);
     114             :   
     115             :   virtual void Print(Option_t* opt="") const;
     116             :   
     117             :   void RegisterContour(AliMUONContour* contour, Bool_t explodedView=kTRUE);
     118             :   
     119             :   TString FormatValue(const char* name, Double_t value) const;
     120             :   
     121             :   /// Return the environment
     122           0 :   AliMUONPainterEnv* Env() { return fEnv; }
     123             :   
     124             :   TObjArray* GetAllContoursAsArray(Bool_t explodedView=kTRUE) const;
     125             : 
     126             : private:
     127             :     
     128             :   /// Not implemented
     129             :   AliMUONPainterHelper(const AliMUONPainterHelper&);
     130             :   /// Not implemented
     131             :   AliMUONPainterHelper& operator=(const AliMUONPainterHelper&);
     132             :   
     133             :   AliMUONContourHandler* Exploded() const;
     134             :   AliMUONContourHandler* Real() const;
     135             :   
     136             : private:
     137             :   static AliMUONPainterHelper* fgInstance; ///< global instance
     138             :   
     139             :   AliMUONPainterEnv* fEnv; ///< resources
     140             :   mutable AliMUONContourHandler* fReal; ///< contours in real coordinates
     141             :   mutable AliMUONContourHandler* fExploded; ///< contours in exploded coordinates
     142             :   
     143          12 :   ClassDef(AliMUONPainterHelper,4) // Helper class for painters
     144             : };
     145             : 
     146             : #endif

Generated by: LCOV version 1.11