LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONPolygon.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 6 16.7 %
Date: 2016-06-14 17:26:59 Functions: 1 10 10.0 %

          Line data    Source code
       1             : #ifndef ALIMUONPOLYGON_H
       2             : #define ALIMUONPOLYGON_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 AliMUONPolygon
      11             : /// \brief A planar polygon
      12             : /// 
      13             : // author Laurent Aphecetche
      14             : 
      15             : #ifndef ROOT_TObject
      16             : #  include "TObject.h"
      17             : #endif
      18             : 
      19             : class AliMUONPolygon : public TObject
      20             : {
      21             : public:
      22             :   AliMUONPolygon(Int_t nvertices=5);
      23             :   AliMUONPolygon(Double_t xpos, Double_t ypos, Double_t halfsizex, Double_t halfsizey);
      24             :   AliMUONPolygon(const AliMUONPolygon& rhs);
      25             :   AliMUONPolygon& operator=(const AliMUONPolygon& rhs);
      26             :   virtual ~AliMUONPolygon();
      27             : 
      28             :   /// Create a full copy of this object
      29           0 :   virtual TObject* Clone(const char* /*newname*/="") const { return new AliMUONPolygon(*this); }
      30             :   
      31             :   Bool_t Contains(Double_t x, Double_t y) const;
      32             :   
      33             :   Double_t SignedArea() const;
      34             :   
      35             :   /// Whether this polygon is oriented counter clockwise
      36           0 :   Bool_t IsCounterClockwiseOriented() const { return SignedArea() > 0.0; }
      37             :   
      38             :   void ReverseOrientation();
      39             :   
      40             :   void SetVertex(Int_t i, Double_t x, Double_t y);
      41             : 
      42             :   /// Return the x-coordinate of the i-th vertex
      43           0 :   Double_t X(Int_t i) const { return fX[i]; }
      44             : 
      45             :   /// Return the y-coordinate of the i-th vertex
      46           0 :   Double_t Y(Int_t i) const { return fY[i]; }
      47             : 
      48             :   /// Get the number of vertices of this polygon
      49           0 :   Int_t NumberOfVertices() const { return fN; }
      50             :   
      51             :   void Print(Option_t* opt="") const;
      52             :   
      53             :   void Close();
      54             :   
      55             : private:
      56             :   Int_t fN; ///< Number of vertices 
      57             :   
      58             :   /// Vertices x coordinates
      59             :   Double_t* fX; //[fN]
      60             :   
      61             :   /// Vertices y coordinates
      62             :   Double_t* fY; //[fN]
      63             :   
      64          12 :   ClassDef(AliMUONPolygon,1) // A simple polygon
      65             : };
      66             : 
      67             : #endif

Generated by: LCOV version 1.11