27 #ifndef ROOT_TGeoVolume 31 #ifndef ROOT_TGeoPatternFinder 82 virtual void cd()
const {;}
211 virtual void cd()
const {fFinder->
cd(fIndex);}
243 virtual void ProcessNode() = 0;
270 void IncreaseArray();
272 TGeoIterator() : fTop(0), fMustResume(0), fMustStop(0), fLevel(0), fType(0),
273 fArray(0), fMatrix(0), fTopName(), fPlugin(0), fPluginAutoexec(
kFALSE) { }
288 void GetPath(
TString &path)
const;
298 void SetTopName(
const char*
name);
virtual void ls(Option_t *option="") const
Print the path (A/B/C/...) to this node on stdout.
TGeoPatternFinder * fFinder
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a vector from local reference system to mother reference.
TGeoExtension * GetFWExtension() const
void DrawOnly(Option_t *option="")
draw only this node independently of its vis options
TGeoNode()
Default constructor.
virtual TGeoNode * MakeCopyNode() const
virtual ~TGeoIteratorPlugin()
Bool_t IsOverlapping() const
TGeoNode * GetNode(const char *name) const
get the pointer to a daughter node
Bool_t TestBit(UInt_t f) const
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
Convert a vector from mother reference to local reference system.
Double_t GetOffset() const
virtual TGeoPatternFinder * GetFinder() const
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Int_t FindNode(const TGeoNode *node, Int_t level)
Search for a node within the branch of this one.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Get node info for the browser.
virtual void Paint(Option_t *option="")
Paint this node and its content according to visualization settings.
TRObject operator()(const T1 &t1) const
void VisibleDaughters(Bool_t vis=kTRUE)
Set visibility of the daughters (obsolete).
virtual TGeoPatternFinder * GetFinder() const
TGeoVolume * GetMotherVolume() const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute mouse actions on this volume.
Int_t GetNdaughters() const
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the node.
TGeoExtension * fUserExtension
#define ClassDef(name, id)
void PrintOverlaps() const
print possible overlapping nodes if (!IsOverlapping()) {printf("node %s is ONLY\n", GetName()); return;}
The TNamed class is the base class for all named ROOT classes.
virtual TGeoMatrix * GetMatrix() const
void InspectNode() const
Inspect this node.
void SetFWExtension(TGeoExtension *ext)
Connect framework defined extension to the node.
Bool_t IsOnScreen() const
check if this node is drawn. Assumes that this node is current
TGeoMedium * GetMedium() const
virtual Bool_t IsVisible() const
TGeoExtension * GetUserExtension() const
virtual TGeoMatrix * GetMatrix() const =0
TGeoIteratorPlugin * fPlugin
void Browse(TBrowser *b)
How-to-browse for a node.
TGeoMedium * GetMedium() const
Using a TBrowser one can browse all ROOT objects.
Int_t GetIndex(Int_t i) const
void DrawOverlaps()
Method drawing the overlap candidates with this node.
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="")
Check overlaps bigger than OVLP hierarchically, starting with this node.
void SetMotherVolume(TGeoVolume *mother)
TGeoNode * GetDaughter(Int_t ind) const
void SaveAttributes(std::ostream &out)
save attributes for this node
void Draw(Option_t *option="")
draw current node according to option
void PrintCandidates() const
print daughters candidates for containing current point cd();
TGeoExtension * fFWExtension
Transient user-defined extension to volumes.
Bool_t IsVisDaughters() const
void SetIterator(const TGeoIterator *iter)
void Reset(Detail::TBranchProxy *x)
Int_t CountDaughters(Bool_t unique_volumes=kFALSE)
Returns the number of daughters.
const TGeoIterator * fIterator
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
Convert the point coordinates from mother reference to local reference system.
void SetFinder(TGeoPatternFinder *finder)
virtual Color_t GetLineColor() const
void SetCloned(Bool_t flag=kTRUE)
void SetOverlapping(Bool_t flag=kTRUE)
void SetPluginAutoexec(Bool_t mode)
TObjArray * GetNodes() const
virtual TGeoMatrix * GetMatrix()
Return current matrix.
TGeoExtension * GrabFWExtension() const
Get a copy of the framework extension pointer.
TGeoIteratorPlugin * GetUserPlugin() const
void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const
Fill array with node id. Recursive on node branch.
void SetVolume(TGeoVolume *volume)
TGeoNode & operator=(const TGeoNode &)
assignment operator
Mother of all ROOT objects.
virtual ~TGeoNode()
Destructor.
Bool_t MayOverlap(Int_t iother) const
Check the overlab between the bounding box of the node overlaps with the one the brother with index I...
void CheckShapes()
check for wrong parameters in shapes
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
compute the closest distance of approach from point px,py to this node
Bool_t IsVisDaughters() const
TGeoExtension * GrabUserExtension() const
Get a copy of the user extension pointer.
Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const
computes the closest distance from given point to this shape
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
Convert the point coordinates from local reference system to mother reference.
Int_t * GetOverlaps(Int_t &novlp) const
Int_t GetNdaughters() const
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Set the current tracking point.
virtual Int_t GetByteCount() const
void SetVisibility(Bool_t vis=kTRUE)
Set visibility of the node (obsolete).
virtual Int_t GetIndex() const
virtual TGeoMatrix * GetMatrix() const
TGeoVolume * GetVolume() const
virtual Int_t GetOptimalVoxels() const
void SetOverlaps(Int_t *ovlp, Int_t novlp)
set the list of overlaps for this node (ovlp must be created with operator new)
void SetNumber(Int_t number)
TGeoVolume * GetTopVolume() const
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...