AliRoot Core  3dc7879 (3dc7879)
AliMUONContour Class Reference

2D contour More...

#include <AliMUONContour.h>

Inheritance diagram for AliMUONContour:

Public Member Functions

 AliMUONContour (const char *name="")
 
 AliMUONContour (const char *name, const AliMpArea &area)
 
 AliMUONContour (const AliMUONContour &rhs)
 
AliMUONContouroperator= (const AliMUONContour &rhs)
 
virtual ~AliMUONContour ()
 
AliMpArea Area () const
 
virtual TObject * Clone (const char *="") const
 Get a full copy of this object. More...
 
void Offset (Double_t x, Double_t y)
 Add an offset to all points. More...
 
void Transform (const TGeoHMatrix &matrix)
 Apply a global transformation to all points. More...
 
void Add (const AliMUONPolygon &polygon)
 
virtual void Copy (TObject &obj) const
 
Bool_t IsInside (Double_t x, Double_t y) const
 
virtual void Print (Option_t *opt="") const
 
Int_t NumberOfVertices () const
 Get the number of vertices of this contour. More...
 
Bool_t IsValid () const
 
const TObjArrayPolygons () const
 Get the list of polygons we have. More...
 
void AssertOrientation (Bool_t autoCorrect=kFALSE)
 

Private Attributes

TObjArrayfPolygons
 the polygons that this contour is made of More...
 
Double_t fXmin
 min x-value More...
 
Double_t fXmax
 max x-value More...
 
Double_t fYmin
 min y-value More...
 
Double_t fYmax
 max y-value More...
 
Int_t fNofVertices
 total number of vertices More...
 

Detailed Description

2D contour

A contour is a set of (closed and counter-clockwise-oriented) polygons

Author
Laurent Aphecetche, Subatech

Definition at line 27 of file AliMUONContour.h.

Constructor & Destructor Documentation

AliMUONContour::AliMUONContour ( const char *  name = "")

ctor

Definition at line 45 of file AliMUONContour.cxx.

Referenced by Clone().

AliMUONContour::AliMUONContour ( const char *  name,
const AliMpArea area 
)

ctor

Definition at line 58 of file AliMUONContour.cxx.

AliMUONContour::AliMUONContour ( const AliMUONContour rhs)

Copy constructor.

Definition at line 81 of file AliMUONContour.cxx.

AliMUONContour::~AliMUONContour ( )
virtual

dtor

Definition at line 110 of file AliMUONContour.cxx.

Member Function Documentation

void AliMUONContour::Add ( const AliMUONPolygon polygon)
AliMpArea AliMUONContour::Area ( ) const

Return the area covered by this contour (i.e. the area that contains all the poylines)

Definition at line 139 of file AliMUONContour.cxx.

Referenced by AliMUONVPainter::Area(), AliMUONManuContourMaker::CreateMotifContour(), AliMUONContourHandler::GenerateAllContours(), AliMUONContourMakerTest::GetBoundingBox(), IsValid(), and Print().

void AliMUONContour::AssertOrientation ( Bool_t  autoCorrect = kFALSE)

Insure that all our polygons are counter-clockwise oriented If autoCorrect==kTRUE, we change the orientation if it is not already correct. If autoCorrect==kFALSE and the orientation is not correct, we just issue an error message.

Definition at line 150 of file AliMUONContour.cxx.

Referenced by AliMUONContourMaker::CreateContour(), AliMUONContourMaker::FinalizeContour(), Polygons(), and Transform().

virtual TObject* AliMUONContour::Clone ( const char *  = "") const
inlinevirtual

Get a full copy of this object.

Definition at line 39 of file AliMUONContour.h.

Referenced by AliMUONManuContourMaker::CreateMotifContour().

void AliMUONContour::Copy ( TObject &  obj) const
virtual

Copy this to obj

Definition at line 178 of file AliMUONContour.cxx.

Referenced by Clone(), and operator=().

Bool_t AliMUONContour::IsInside ( Double_t  x,
Double_t  y 
) const

Whether the point (x,y) is inside one of ours polylines

Definition at line 202 of file AliMUONContour.cxx.

Referenced by Clone(), and AliMUONVPainter::IsInside().

Bool_t AliMUONContour::IsValid ( ) const

A valid contour is one with a valid area and at least 3 vertices.

Definition at line 302 of file AliMUONContour.cxx.

Referenced by AliMUONManuContourMaker::CreateMotifContour(), and NumberOfVertices().

Int_t AliMUONContour::NumberOfVertices ( ) const
inline

Get the number of vertices of this contour.

Definition at line 56 of file AliMUONContour.h.

Referenced by AliMUONManuContourMaker::CreateMotifContour(), and Print().

void AliMUONContour::Offset ( Double_t  x,
Double_t  y 
)

Add an offset to all points.

Offset all lines by a given offset

Definition at line 224 of file AliMUONContour.cxx.

Referenced by Clone(), and AliMUONManuContourMaker::CreateManuContour().

AliMUONContour & AliMUONContour::operator= ( const AliMUONContour rhs)

Assignment operator

Definition at line 97 of file AliMUONContour.cxx.

const TObjArray* AliMUONContour::Polygons ( ) const
inline

Get the list of polygons we have.

Definition at line 61 of file AliMUONContour.h.

Referenced by AliMUONContourMaker::MergeContour(), AliMUONContourPainter::Paint(), and AliMUONContourMakerTest::Plot().

void AliMUONContour::Print ( Option_t *  opt = "") const
virtual

Printout

Definition at line 247 of file AliMUONContour.cxx.

Referenced by AssertOrientation(), and Clone().

void AliMUONContour::Transform ( const TGeoHMatrix &  matrix)

Apply a global transformation to all points.

Transform the polygons using the given transformation

Definition at line 272 of file AliMUONContour.cxx.

Referenced by Clone(), and AliMUONManuContourMaker::CreateManuContour().

Member Data Documentation

Int_t AliMUONContour::fNofVertices
private

total number of vertices

Definition at line 71 of file AliMUONContour.h.

Referenced by Add(), AliMUONContour(), Copy(), IsValid(), and NumberOfVertices().

TObjArray* AliMUONContour::fPolygons
private

the polygons that this contour is made of

Definition at line 66 of file AliMUONContour.h.

Referenced by Add(), AliMUONContour(), AssertOrientation(), Copy(), IsInside(), Offset(), operator=(), Polygons(), Print(), Transform(), and ~AliMUONContour().

Double_t AliMUONContour::fXmax
private

max x-value

Definition at line 68 of file AliMUONContour.h.

Referenced by Add(), Area(), Copy(), Offset(), and Transform().

Double_t AliMUONContour::fXmin
private

min x-value

Definition at line 67 of file AliMUONContour.h.

Referenced by Add(), Area(), Copy(), IsInside(), Offset(), and Transform().

Double_t AliMUONContour::fYmax
private

max y-value

Definition at line 70 of file AliMUONContour.h.

Referenced by Add(), Area(), Copy(), IsInside(), Offset(), and Transform().

Double_t AliMUONContour::fYmin
private

min y-value

Definition at line 69 of file AliMUONContour.h.

Referenced by Add(), Area(), Copy(), IsInside(), Offset(), and Transform().


The documentation for this class was generated from the following files: