LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONContour.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : #ifndef ALIMUONCONTOUR_H
       2             : #define ALIMUONCONTOUR_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 geometry
      10             : /// \class AliMUONContour
      11             : /// \brief 2D contour
      12             : /// 
      13             : // Author Laurent Aphecetche, Subatech
      14             : 
      15             : #ifndef ROOT_TNamed
      16             : #  include "TNamed.h"
      17             : #endif
      18             : 
      19             : #ifndef ALI_MP_AREA_H
      20             : #  include "AliMpArea.h"
      21             : #endif
      22             : 
      23             : class AliMUONPolygon;
      24             : class TGeoHMatrix;
      25             : class TObjArray;
      26             : 
      27             : class AliMUONContour : public TNamed
      28             : {
      29             : public:
      30             :   AliMUONContour(const char* name="");
      31             :   AliMUONContour(const char* name, const AliMpArea& area);
      32             :   AliMUONContour(const AliMUONContour& rhs);
      33             :   AliMUONContour& operator=(const AliMUONContour& rhs);
      34             :   virtual ~AliMUONContour();
      35             :   
      36             :   AliMpArea Area() const;
      37             :   
      38             :   /// Get a full copy of this object.
      39           0 :   virtual TObject* Clone(const char* /*newname*/="") const { return new AliMUONContour(*this); }
      40             :   
      41             :   /// Add an offset to all points
      42             :   void Offset(Double_t x, Double_t y);
      43             :   
      44             :   /// Apply a global transformation to all points
      45             :   void Transform(const TGeoHMatrix& matrix);
      46             :   
      47             :   void Add(const AliMUONPolygon& polygon);
      48             :   
      49             :   virtual void Copy(TObject& obj) const;
      50             :     
      51             :   Bool_t IsInside(Double_t x, Double_t y) const;
      52             : 
      53             :   virtual void Print(Option_t* opt="") const;
      54             :   
      55             :   /// Get the number of vertices of this contour
      56           0 :   Int_t NumberOfVertices() const { return fNofVertices; }
      57             :   
      58             :   Bool_t IsValid() const;
      59             :   
      60             :   /// Get the list of polygons we have
      61           0 :   const TObjArray* Polygons() const { return fPolygons; }
      62             :   
      63             :   void AssertOrientation(Bool_t autoCorrect=kFALSE);
      64             :   
      65             : private:
      66             :   TObjArray* fPolygons; ///< the polygons that this contour is made of
      67             :   Double_t fXmin; ///< min x-value
      68             :   Double_t fXmax; ///< max x-value
      69             :   Double_t fYmin; ///< min y-value
      70             :   Double_t fYmax; ///< max y-value
      71             :   Int_t fNofVertices; ///< total number of vertices
      72             :   
      73          12 :   ClassDef(AliMUONContour,1) // 2D-contour of an object
      74             : };
      75             : 
      76             : #endif

Generated by: LCOV version 1.11