131 gROOT->GetListOfGeometries()->Add(
this);
141 fMaterials(
geo.fMaterials),
142 fMatrices(
geo.fMatrices),
143 fShapes(
geo.fShapes),
145 fMatrix(
geo.fMatrix),
146 fCurrentNode(
geo.fCurrentNode),
147 fMaterialPointer(
geo.fMaterialPointer),
148 fMatrixPointer(
geo.fMatrixPointer),
149 fShapePointer(
geo.fShapePointer),
151 fGeomLevel(
geo.fGeomLevel),
227 gROOT->GetListOfGeometries()->Remove(
this);
266 Error(
"FindObject",
"Not yet implemented");
276 if (
loc)
return loc->At(0);
337 if (
mat->GetNumber() == number)
return mat;
348 if (!node)
return nullptr;
393 while ((shape = (
TShape*) next())) {
394 if (shape->
GetNumber() == number)
return shape;
478 Printf(
"=================List of Materials================");
482 Printf(
"=================List of RotationMatrices================");
486 Printf(
"=================List of Shapes==========================");
490 Printf(
"=================List of Nodes===========================");
623 gROOT->GetListOfGeometries()->Add(
this);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TGeometry * gGeometry
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
Using a TBrowser one can browse all ROOT objects.
Buffer base class used for serializing objects.
void ls(Option_t *option="") const override
List (ls) all objects in this collection.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
TShape * GetShapeByNumber(Int_t number) const
Return pointer to Shape with number.
Double_t fZ
The global translation of the current node.
Double_t fRotMatrix[kMAXLEVELS][kMatrixSize]
void Draw(Option_t *option="") override
Draw this Geometry.
TMaterial * GetMaterialByNumber(Int_t number) const
Return pointer to Material with number.
TGeometry & operator=(const TGeometry &)
assignment operator
virtual void Local2Master(Double_t *local, Double_t *master)
Convert one point from local system to master reference system.
TMaterial ** fMaterialPointer
Pointer to current node.
TMaterial * GetMaterial(const char *name) const
Return pointer to Material with name.
void ls(Option_t *option="rsn2") const override
List this geometry.
virtual void Master2Local(Double_t *master, Double_t *local)
Convert one point from master system to local reference system.
TGeometry()
Geometry default constructor.
TRotMatrix ** fMatrixPointer
Pointers to materials.
TShape ** fShapePointer
Pointers to rotation matrices.
void RecursiveRemove(TObject *obj) override
Recursively remove object from a Geometry list.
THashList * GetListOfShapes() const
void Streamer(TBuffer &) override
Stream a class object.
TRotMatrix * GetRotMatrixByNumber(Int_t number) const
Return pointer to RotMatrix with number.
TNode * fCurrentNode
Pointers to current rotation matrices.
Bool_t fIsReflection[kMAXLEVELS]
TObject * FindObject(const char *name) const override
Search object identified by name in the geometry tree.
void Browse(TBrowser *b) override
Browse.
~TGeometry() override
Geometry default destructor.
THashList * GetListOfMatrices() const
THashList * GetListOfMaterials() const
Float_t fBomb
Pointers to shapes.
static TObjArray * Get(const char *name)
Static function called by TROOT to search name in the geometry.
virtual void UpdateTempMatrix(Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=nullptr)
Update temp matrix.
TRotMatrix * GetRotMatrix(const char *name) const
Return pointer to RotMatrix with name.
virtual void Node(const char *name, const char *title, const char *shapename, Double_t x=0, Double_t y=0, Double_t z=0, const char *matrixname="", Option_t *option="")
Add a node to the current node in this geometry.
TShape * GetShape(const char *name) const
Return pointer to Shape with name.
virtual void UpdateMatrix(TNode *node)
Update global rotation matrix/translation vector for this node this function must be called before in...
virtual void cd(const char *path=nullptr)
Change Current Geometry to this.
TClass * IsA() const override
TList * GetListOfNodes() const
TNode * GetNode(const char *name) const
Return pointer to node with name in the geometry tree.
Double_t fTranslation[kMAXLEVELS][kVectorSize]
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
void Streamer(TBuffer &) override
Stream all objects in the collection to or from the I/O buffer.
TObject * FindObject(const char *name) const override
Find object using its name.
void Streamer(TBuffer &) override
Stream all objects in the collection to or from the I/O buffer.
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Manages a detector material.
The TNamed class is the base class for all named ROOT classes.
void Streamer(TBuffer &) override
Stream an object of class TObject.
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
virtual TNode * GetParent() const
virtual Double_t GetY() const
virtual Double_t GetX() const
virtual TRotMatrix * GetMatrix() const
virtual Double_t GetZ() const
virtual TNode * GetNode(const char *name) const
Return pointer to node with name in the node tree.
Mother of all ROOT objects.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Manages a detector rotation matrix.
This is the base class for all geometry shapes.
virtual Int_t GetNumber() const
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
R__ALWAYS_INLINE bool HasBeenDeleted(const TObject *obj)
Check if the TObject's memory has been deleted.