class TPCON: public TShape


 PCON is a polycone. It has the following parameters:

     - name       name of the shape
     - title      shape's title
     - material  (see TMaterial)
     - phi1       the azimuthal angle phi at which the volume begins (angles
                  are counted counterclockwise)
     - dphi       opening angle of the volume, which extends from
                  phi1 to phi1+dphi
     - nz         number of planes perpendicular to the z axis where
                  the dimension of the section is given -- this number
                  should be at least 2
     - rmin       array of dimension nz with minimum radius at a given plane
     - rmax       array of dimension nz with maximum radius at a given plane
     - z          array of dimension nz with z position of given plane

Function Members (Methods)

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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidDefineSection(Int_t secNum, Float_t z, Float_t rmin, Float_t rmax)
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_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 voidTObject::ExecuteEvent(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 const TBuffer3D&GetBuffer3D(Int_t reqSections) const
virtual Float_tGetDhi1() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_t*GetDz() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TMaterial*TShape::GetMaterial() const
virtual const char*TNamed::GetName() const
virtual Int_tGetNdiv() const
virtual Int_tTShape::GetNumber() const
virtual Int_tGetNumberOfDivisions() const
virtual Int_tGetNz() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Float_tGetPhi1() const
virtual Float_t*GetRmax() const
virtual Float_t*GetRmin() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Int_tTShape::GetVisibility() 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_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
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 voidTShape::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
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)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
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 voidTShape::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidSetNumberOfDivisions(Int_t p)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTShape::SetVisibility(Int_t vis)MENU
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() 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
TPCON(const char* name, const char* title, const char* material, Float_t phi1, Float_t dphi1, Int_t nz)
voidTShape::TransformPoints(Double_t* points, UInt_t NbPnts) const
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
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidTShape::FillBuffer3D(TBuffer3D& buffer, Int_t reqSections) const
virtual voidFillTableOfCoSin(Double_t phi, Double_t angstep, Int_t n) const
Int_tTShape::GetBasicColor() const
virtual voidMakeTableOfCoSin() const
TPCON&operator=(const TPCON&)
virtual voidSetPoints(Double_t* points) const
virtual Bool_tSetSegsAndPols(TBuffer3D& buffer) const
Int_tTShape::ShapeDistancetoPrimitive(Int_t numPoints, Int_t px, Int_t py)

Data Members

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
Double_t*fCoTab! Table of cos(fPhi1) .... cos(fPhil+fDphi1)
Float_tfDphi1range in phi
Float_t*fDz[fNz] pointer to array of half lengths in z
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TMaterial*TShape::fMaterialPointer to material
TStringTNamed::fNameobject identifier
Int_tfNdivnumber of divisions
Int_tTShape::fNumberShape number
Int_tfNznumber of z segments
Float_tfPhi1lower phi limit
Float_t*fRmax[fNz] pointer to array of outside radiuses
Float_t*fRmin[fNz] pointer to array of inside radiuses
Double_t*fSiTab! Table of sin(fPhi1) .... sin(fPhil+fDphi1)
TStringTNamed::fTitleobject title
Int_tTShape::fVisibilityVisibility flag

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

 PCON shape default constructor
TPCON(const char* name, const char* title, const char* material, Float_t phi1, Float_t dphi1, Int_t nz)
 PCON shape normal constructor

 Parameters of the nz positions must be entered via TPCON::DefineSection.
TPCON(const TPCON& )
copy constructor
TPCON& operator=(const TPCON& )
assignement operator
void MakeTableOfCoSin() const
 Make table of cosine and sine
 PCON shape default destructor
void DefineSection(Int_t secNum, Float_t z, Float_t rmin, Float_t rmax)
 Defines section secNum of the polycone

     - rmin  radius of the inner circle in the cross-section

     - rmax  radius of the outer circle in the cross-section

     - z     z coordinate of the section
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Compute distance from point px,py to a PCON

 Compute the closest distance of approach from point px,py to each
 computed outline point of the PCON.
void FillTableOfCoSin(Double_t phi, Double_t angstep, Int_t n) const
 Fill the table of cos and sin to prepare drawing
void SetNumberOfDivisions(Int_t p)
 Set number of divisions.
void SetPoints(Double_t* points) const
 Create PCON points
void Sizeof3D() const
 Return total X3D needed by TNode::ls (when called with option "x")
void Streamer(TBuffer& )
 Stream a class object
const TBuffer3D & GetBuffer3D(Int_t reqSections) const
 Get buffer 3d.
Bool_t SetSegsAndPols(TBuffer3D& buffer) const
 Set segments and polygons.
Int_t GetNumberOfDivisions() const
{if (fNdiv) return fNdiv; else return kDiv;}
Float_t GetPhi1() const
{return fPhi1;}
Float_t GetDhi1() const
{return fDphi1;}
Int_t GetNz() const
{return fNz;}
Float_t * GetRmin() const
{return fRmin;}
Float_t * GetRmax() const
{return fRmax;}
Float_t * GetDz() const
{return fDz;}
Int_t GetNdiv() const
{return fNdiv;}