A++ » INCLUDE » THelix

class THelix: public TPolyLine3D


THelix

A Helix with axis // z-axis:

X(t) = X0 - vt / w sin(-wt+phi0)
Y(t) = Y0 + vt / w cos(-wt+phi0)
Z(t) = Z0 + vz t


Function Members (Methods)

public:
virtual~THelix()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCopy(TObject& helix) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTPolyLine3D::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
static voidTPolyLine3D::DrawOutlineCube(TList* outline, Double_t* rmin, Double_t* rmax)
virtual voidTPolyLine3D::DrawPolyLine(Int_t n, Float_t* p, Option_t* option = "")
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 voidTPolyLine3D::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
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
Int_tTPolyLine3D::GetLastPoint() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
Int_tTPolyLine3D::GetN() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*GetOption() const
Float_t*TPolyLine3D::GetP() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTPolyLine3D::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Int_tTPolyLine3D::Merge(TCollection* list)
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
virtual voidTPolyLine3D::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
virtual voidSetAxis(Double_t* axis)
virtual voidSetAxis(Double_t x, Double_t y, Double_t z)
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)
voidSetHelix(Double_t* xyz, Double_t* v, Double_t w, Double_t* range = 0, EHelixRangeType type = kUnchanged, Double_t* axis = 0)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineColorAlpha(Color_t lcolor, Float_t lalpha)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual Int_tTPolyLine3D::SetNextPoint(Double_t x, Double_t y, Double_t z)MENU
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOption(Option_t* option = "")
virtual voidTPolyLine3D::SetPoint(Int_t point, Double_t x, Double_t y, Double_t z)MENU
virtual voidTPolyLine3D::SetPolyLine(Int_t n, Option_t* option = "")
virtual voidTPolyLine3D::SetPolyLine(Int_t n, Float_t* p, Option_t* option = "")
virtual voidTPolyLine3D::SetPolyLine(Int_t n, Double_t* p, Option_t* option = "")
virtual voidSetRange(Double_t* range, EHelixRangeType rtype = kHelixZ)
virtual voidSetRange(Double_t r1, Double_t r2, EHelixRangeType rtype = kHelixZ)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTPolyLine3D::Size() const
virtual voidTAtt3D::Sizeof3D() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
THelix()
THelix(const THelix& helix)
THelix(Double_t* xyz, Double_t* v, Double_t w, Double_t* range = 0, EHelixRangeType rtype = kHelixZ, Double_t* axis = 0)
THelix(Double_t x, Double_t y, Double_t z, Double_t vx, Double_t vy, Double_t vz, Double_t w)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tFindClosestPhase(Double_t phi0, Double_t cosine)
voidTObject::MakeZombie()
THelix&operator=(const THelix&)
voidSetRotMatrix()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Double_tfAxis[3]Direction unit vector of the helix axis
Int_tTPolyLine3D::fLastPointThe index of the last filled point
Color_tTAttLine::fLineColorLine color
Style_tTAttLine::fLineStyleLine style
Width_tTAttLine::fLineWidthLine width
Int_tTPolyLine3D::fNNumber of points
TStringTPolyLine3D::fOptionoptions
Float_t*TPolyLine3D::fP[3*fN] Array of 3-D coordinates (x,y,z)
Double_tfPhi0Initial phase, so vx0 = fVt*cos(fPhi0)
Double_tfRange[2]Range of helix parameter t
TRotMatrix*fRotMatRotation matrix: axis // z --> axis // fAxis
Double_tfVtTransverse velocity (constant of motion)
Double_tfVzZ velocity (constant of motion)
Double_tfWAngular frequency
Double_tfX0Pivot's x position (see parametrization in class doc)
Double_tfY0Pivot's y position (see parametrization in class doc)
Double_tfZ0Pivot's z position (see parametrization in class doc)
static Int_tfgMinNSegminimal number of segments in polyline

Class Charts

Inheritance Chart:
TObject
TAttLine
TAtt3D
TPolyLine3D
THelix

Function documentation

THelix& operator=(const THelix& )
void SetRotMatrix()
Double_t FindClosestPhase(Double_t phi0, Double_t cosine)
THelix()
THelix(Double_t x, Double_t y, Double_t z, Double_t vx, Double_t vy, Double_t vz, Double_t w)
THelix(const THelix& helix)
virtual ~THelix()
void Copy(TObject& helix) const
void Draw(Option_t* option = "")
Option_t * GetOption() const
{return fOption.Data();}
void Print(Option_t* option = "") const
void SavePrimitive(ostream& out, Option_t* option = "")
void SetOption(Option_t* option = "")
{fOption = option;}
void SetAxis(Double_t* axis)
void SetAxis(Double_t x, Double_t y, Double_t z)
void SetRange(Double_t* range, EHelixRangeType rtype = kHelixZ)
void SetRange(Double_t r1, Double_t r2, EHelixRangeType rtype = kHelixZ)
void SetHelix(Double_t* xyz, Double_t* v, Double_t w, Double_t* range = 0, EHelixRangeType type = kUnchanged, Double_t* axis = 0)