class HContour: public TNamed

_HADES_CLASS_DESCRIPTION

 This class stores the contour (x,y coordinates of a given number
 of points) and evaluates if a given point (input information) stays
 inside or outside the contour.

 The algorithm used to evaluate if the given point is inside or outside
 the contour was proposed by
 P.Finocchiaro (INFN-LNS,Catania, "finocchiaro@lns.infn.it")

Function Members (Methods)

public:
HContour()
HContour(const HContour&)
virtual~HContour()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tcheckLimits(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax)
Bool_tcheckSelfCross()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
voidcopy(TObject* hc)
virtual voidTNamed::Copy(TObject& named) const
voiddefine(Bool_t a = kTRUE)
virtual voidTObject::Delete(Option_t* option = "")MENU
voiddeleteLastPoint()
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tisInside(Float_t x, Float_t y)
Bool_tisLinked()
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HContour&operator=(const HContour&)
virtual voidPaint(Option_t* t)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidsetAll()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetLink(Bool_t a = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidshow(const Char_t* msg)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidundo()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Bool_taddPoint(Float_t x, Float_t y)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tfillCrossArray(Float_t x, Float_t y)
voidfillHelperArrays()
voidTObject::MakeZombie()
voidsorting()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Float_tXar[100]
TArrayFXlinked
Float_tYar[100]
TArrayFcross
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
TGraph*graph!
Bool_tkDefine
Bool_tkLink
Bool_tkSelfCross
TArrayFoffset
Int_tpoints
TArrayFslope

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Bool_t addPoint(Float_t x, Float_t y)
 This function adds a new point to the contour.

void deleteLastPoint()
 This function deletes the last defined point in the contour.

void setLink(Bool_t a = kTRUE)
 This function sets the flag which tells if the first and last points
 of the contour are linked or not.

void fillHelperArrays()
 This is a helper function which calculates the equations of all straight
 line pieces of the contour and stores them in arrays slope and offset.

Bool_t checkSelfCross()
 This function makes self cross check of the contour.

Bool_t fillCrossArray(Float_t x, Float_t y)
 This is a helper function which calculates y coordinates of cross points
 of the contour pieces with the perpendicular to the x axis drawn through
 the point (x,y).

void sorting()
 This function makes sorting of the array cross by means of "insert method".
 See Herbert Schildt "Expert C++".

Bool_t isInside(Float_t x, Float_t y)
 This function evaluates if the point (x,y) is inside the contour.

void Paint(Option_t* t)
 This function paints the contour in the current active pad.

void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 This function executes mouse event in the current active pad.

void show(const Char_t* msg)
 This function prints the message msg.
 Was used at the prototyping stage.

void undo()
 This function makes one step back during the contour definition.

void setAll()
 This function connects the last point of the contour with the first one.

void copy(TObject* hc)
 This function copies contour to hc.

Bool_t checkLimits(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax)
 This function checks if the contour is inside the area given by
 xmin, ymin, xmax, ymax. This function is called from Paint(Option_t *)

HContour()
virtual ~HContour()
Int_t DistancetoPrimitive(Int_t px, Int_t py)
{return 0;}
Bool_t isLinked()
{ return kLink; }
void define(Bool_t a = kTRUE)
{ kDefine = a; }

Last change: Sat May 22 12:54:06 2010
Last generated: 2010-05-22 12:54

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.