Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGeometry Class Reference

TGeometry description.

The Geometry class describes the geometry of a detector. The current implementation supports the GEANT3 style description. A special program provided in the ROOT utilities (toroot) can be used to automatically translate a GEANT detector geometry into a ROOT geometry.

a Geometry object is entered into the list of geometries into the ROOT main object (see TROOT description) when the TGeometry constructor is invoked. Several geometries may coexist in memory. / A Geometry object consist of the following linked lists:

  • the TMaterial list (material definition only).
  • the TRotmatrix list (Rotation matrices definition only).
  • the TShape list (volume definition only).
  • the TNode list assembling all detector elements.

Only the Build and Draw functions for a geometry are currently supported.

The conversion program from Geant to Root has been added in the list of utilities in utils directory.(see g2root) The executable module of g2root can be found in $ROOTSYS/bin/g2root.

To use this conversion program, type the shell command:

g2root geant_rzfile macro_name

for example

g2root na49.geom na49.C

will convert the GEANT RZ file na49.geom into a ROOT macro na49.C

To generate the Geometry structure within Root, do:

Root > .x na49.C
Root > na49.Draw()
Root > wh.x3d() (this invokes the 3-d Root viewer)
Root > TFile gna49("na49.root","NEW") //open a new root file
Root > na49.Write() //Write the na49 geometry structure
Root > gna49.Write() //Write all keys (in this case only one)
#define d(i)
Definition RSha256.hxx:102
A ROOT file is composed of a header, followed by consecutive data records (TKey instances) with a wel...
Definition TFile.h:53

Note: all keys are also written on closing of the file, gna49.Close or when the program exits, Root closes all open files correctly. Once this file has been written, in a subsequent session, simply do:

Root > TFile gna49("na49.root")
Root > na49.Draw()
th1 Draw()

The figure below shows the geometry above using the x3d viewer. This x3d viewer is invoked by selecting "View x3d" in the View menu of a canvas (See example of this tool bar in TCanvas).

Definition at line 39 of file TGeometry.h.

Public Member Functions

 TGeometry ()
 Geometry default constructor.
 
 TGeometry (const char *name, const char *title)
 Geometry normal constructor.
 
 ~TGeometry () override
 Geometry default destructor.
 
void Browse (TBrowser *b) override
 Browse.
 
virtual void cd (const char *path=nullptr)
 Change Current Geometry to this.
 
void Draw (Option_t *option="") override
 Draw this Geometry.
 
TObjectFindObject (const char *name) const override
 Search object identified by name in the geometry tree.
 
TObjectFindObject (const TObject *obj) const override
 Find object in a geometry node, material, etc.
 
Int_t GeomLevel () const
 
Float_t GetBomb () const
 
TRotMatrixGetCurrentMatrix () const
 
TNodeGetCurrentNode () const
 
TRotMatrixGetCurrentPosition (Double_t *x, Double_t *y, Double_t *z) const
 
TRotMatrixGetCurrentPosition (Float_t *x, Float_t *y, Float_t *z) const
 
Bool_t GetCurrentReflection () const
 
THashListGetListOfMaterials () const
 
THashListGetListOfMatrices () const
 
TListGetListOfNodes () const
 
THashListGetListOfShapes () const
 
TMaterialGetMaterial (const char *name) const
 Return pointer to Material with name.
 
TMaterialGetMaterialByNumber (Int_t number) const
 Return pointer to Material with number.
 
TNodeGetNode (const char *name) const
 Return pointer to node with name in the geometry tree.
 
TRotMatrixGetRotMatrix (const char *name) const
 Return pointer to RotMatrix with name.
 
TRotMatrixGetRotMatrixByNumber (Int_t number) const
 Return pointer to RotMatrix with number.
 
TShapeGetShape (const char *name) const
 Return pointer to Shape with name.
 
TShapeGetShapeByNumber (Int_t number) const
 Return pointer to Shape with number.
 
TClassIsA () const override
 
Bool_t IsFolder () const override
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
virtual void Local2Master (Double_t *local, Double_t *master)
 Convert one point from local system to master reference system.
 
virtual void Local2Master (Float_t *local, Float_t *master)
 Convert one point from local system to master reference system.
 
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.
 
virtual void Master2Local (Float_t *master, Float_t *local)
 Convert one point from master system to local reference system.
 
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.
 
virtual Int_t PopLevel ()
 
virtual Int_t PushLevel ()
 
void RecursiveRemove (TObject *obj) override
 Recursively remove object from a Geometry list.
 
virtual void SetBomb (Float_t bomb=1.4)
 
virtual void SetCurrentNode (TNode *node)
 
virtual void SetGeomLevel (Int_t level=0)
 
virtual void SetMatrix (TRotMatrix *matrix=nullptr)
 
virtual void SetPosition (Double_t x, Double_t y, Double_t z)
 
virtual void SetPosition (Float_t x, Float_t y, Float_t z)
 
virtual void SetPosition (TRotMatrix *matrix, Double_t x=0, Double_t y=0, Double_t z=0)
 
virtual void SetPosition (TRotMatrix *matrix, Float_t x, Float_t y, Float_t z)
 
void Streamer (TBuffer &) override
 Stream a class object.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void UpdateMatrix (TNode *node)
 Update global rotation matrix/translation vector for this node this function must be called before invoking Local2Master.
 
virtual void UpdateTempMatrix (Double_t x, Double_t y, Double_t z, Double_t *matrix, Bool_t isReflection=kFALSE)
 Update temp matrix.
 
virtual void UpdateTempMatrix (Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=nullptr)
 Update temp matrix.
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TObjArrayGet (const char *name)
 Static function called by TROOT to search name in the geometry.
 
static void UpdateTempMatrix (Double_t *dx1, Double_t *rmat1, Double_t x, Double_t y, Double_t z, Double_t *matrix, Double_t *dxnew, Double_t *rmatnew)
 Compute new translation vector and global matrix.
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Member Functions

 TGeometry (const TGeometry &)
 copy constructor
 
TGeometryoperator= (const TGeometry &)
 assignment operator
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Private Attributes

Float_t fBomb
 Pointers to shapes.
 
TNodefCurrentNode
 Pointers to current rotation matrices.
 
Int_t fGeomLevel
 
Bool_t fIsReflection [kMAXLEVELS]
 
TMaterial ** fMaterialPointer
 Pointer to current node.
 
THashListfMaterials
 
THashListfMatrices
 
TRotMatrixfMatrix
 
TRotMatrix ** fMatrixPointer
 Pointers to materials.
 
TListfNodes
 
Double_t fRotMatrix [kMAXLEVELS][kMatrixSize]
 
TShape ** fShapePointer
 Pointers to rotation matrices.
 
THashListfShapes
 
Double_t fTranslation [kMAXLEVELS][kVectorSize]
 
Double_t fX
 
Double_t fY
 
Double_t fZ
 The global translation of the current node.
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TGeometry.h>

Inheritance diagram for TGeometry:
[legend]

Constructor & Destructor Documentation

◆ TGeometry() [1/3]

TGeometry::TGeometry ( const TGeometry geo)
protected

copy constructor

Definition at line 139 of file TGeometry.cxx.

◆ TGeometry() [2/3]

TGeometry::TGeometry ( )

Geometry default constructor.

Definition at line 96 of file TGeometry.cxx.

◆ TGeometry() [3/3]

TGeometry::TGeometry ( const char *  name,
const char *  title 
)

Geometry normal constructor.

Definition at line 117 of file TGeometry.cxx.

◆ ~TGeometry()

TGeometry::~TGeometry ( )
override

Geometry default destructor.

Definition at line 200 of file TGeometry.cxx.

Member Function Documentation

◆ Browse()

void TGeometry::Browse ( TBrowser b)
overridevirtual

Browse.

Reimplemented from TObject.

Definition at line 233 of file TGeometry.cxx.

◆ cd()

void TGeometry::cd ( const char *  path = nullptr)
virtual

Change Current Geometry to this.

Definition at line 246 of file TGeometry.cxx.

◆ Class()

static TClass * TGeometry::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TGeometry::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TGeometry::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 119 of file TGeometry.h.

◆ DeclFileName()

static const char * TGeometry::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 119 of file TGeometry.h.

◆ Draw()

void TGeometry::Draw ( Option_t option = "")
overridevirtual

Draw this Geometry.

Reimplemented from TObject.

Definition at line 254 of file TGeometry.cxx.

◆ FindObject() [1/2]

TObject * TGeometry::FindObject ( const char *  name) const
overridevirtual

Search object identified by name in the geometry tree.

Reimplemented from TObject.

Definition at line 273 of file TGeometry.cxx.

◆ FindObject() [2/2]

TObject * TGeometry::FindObject ( const TObject obj) const
overridevirtual

Find object in a geometry node, material, etc.

Reimplemented from TObject.

Definition at line 264 of file TGeometry.cxx.

◆ GeomLevel()

Int_t TGeometry::GeomLevel ( ) const
inline

Definition at line 74 of file TGeometry.h.

◆ Get()

TObjArray * TGeometry::Get ( const char *  name)
static

Static function called by TROOT to search name in the geometry.

Returns a TObjArray containing a pointer to the found object and a pointer to the container where the object was found.

Definition at line 285 of file TGeometry.cxx.

◆ GetBomb()

Float_t TGeometry::GetBomb ( ) const
inline

Definition at line 73 of file TGeometry.h.

◆ GetCurrentMatrix()

TRotMatrix * TGeometry::GetCurrentMatrix ( ) const
inline

Definition at line 123 of file TGeometry.h.

◆ GetCurrentNode()

TNode * TGeometry::GetCurrentNode ( ) const
inline

Definition at line 79 of file TGeometry.h.

◆ GetCurrentPosition() [1/2]

TRotMatrix * TGeometry::GetCurrentPosition ( Double_t x,
Double_t y,
Double_t z 
) const
inline

Definition at line 127 of file TGeometry.h.

◆ GetCurrentPosition() [2/2]

TRotMatrix * TGeometry::GetCurrentPosition ( Float_t x,
Float_t y,
Float_t z 
) const
inline

Definition at line 131 of file TGeometry.h.

◆ GetCurrentReflection()

Bool_t TGeometry::GetCurrentReflection ( ) const
inline

Definition at line 135 of file TGeometry.h.

◆ GetListOfMaterials()

THashList * TGeometry::GetListOfMaterials ( ) const
inline

Definition at line 77 of file TGeometry.h.

◆ GetListOfMatrices()

THashList * TGeometry::GetListOfMatrices ( ) const
inline

Definition at line 78 of file TGeometry.h.

◆ GetListOfNodes()

TList * TGeometry::GetListOfNodes ( ) const
inline

Definition at line 76 of file TGeometry.h.

◆ GetListOfShapes()

THashList * TGeometry::GetListOfShapes ( ) const
inline

Definition at line 75 of file TGeometry.h.

◆ GetMaterial()

TMaterial * TGeometry::GetMaterial ( const char *  name) const

Return pointer to Material with name.

Definition at line 322 of file TGeometry.cxx.

◆ GetMaterialByNumber()

TMaterial * TGeometry::GetMaterialByNumber ( Int_t  number) const

Return pointer to Material with number.

Definition at line 330 of file TGeometry.cxx.

◆ GetNode()

TNode * TGeometry::GetNode ( const char *  name) const

Return pointer to node with name in the geometry tree.

Definition at line 345 of file TGeometry.cxx.

◆ GetRotMatrix()

TRotMatrix * TGeometry::GetRotMatrix ( const char *  name) const

Return pointer to RotMatrix with name.

Definition at line 356 of file TGeometry.cxx.

◆ GetRotMatrixByNumber()

TRotMatrix * TGeometry::GetRotMatrixByNumber ( Int_t  number) const

Return pointer to RotMatrix with number.

Definition at line 364 of file TGeometry.cxx.

◆ GetShape()

TShape * TGeometry::GetShape ( const char *  name) const

Return pointer to Shape with name.

Definition at line 379 of file TGeometry.cxx.

◆ GetShapeByNumber()

TShape * TGeometry::GetShapeByNumber ( Int_t  number) const

Return pointer to Shape with number.

Definition at line 387 of file TGeometry.cxx.

◆ IsA()

TClass * TGeometry::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 119 of file TGeometry.h.

◆ IsFolder()

Bool_t TGeometry::IsFolder ( ) const
inlineoverridevirtual

Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

Reimplemented from TObject.

Definition at line 91 of file TGeometry.h.

◆ Local2Master() [1/2]

void TGeometry::Local2Master ( Double_t local,
Double_t master 
)
virtual

Convert one point from local system to master reference system.

Note that before invoking this function, the global rotation matrix and translation vector for this node must have been computed. This is automatically done by the Paint functions. Otherwise TNode::UpdateMatrix should be called before.

Definition at line 407 of file TGeometry.cxx.

◆ Local2Master() [2/2]

void TGeometry::Local2Master ( Float_t local,
Float_t master 
)
virtual

Convert one point from local system to master reference system.

Note that before invoking this function, the global rotation matrix and translation vector for this node must have been computed. This is automatically done by the Paint functions. Otherwise TNode::UpdateMatrix should be called before.

Definition at line 441 of file TGeometry.cxx.

◆ ls()

void TGeometry::ls ( Option_t option = "rsn2") const
overridevirtual

List this geometry.

Reimplemented from TObject.

Definition at line 473 of file TGeometry.cxx.

◆ Master2Local() [1/2]

void TGeometry::Master2Local ( Double_t master,
Double_t local 
)
virtual

Convert one point from master system to local reference system.

Note that before invoking this function, the global rotation matrix and translation vector for this node must have been computed. This is automatically done by the Paint functions. Otherwise TNode::UpdateMatrix should be called before.

Definition at line 503 of file TGeometry.cxx.

◆ Master2Local() [2/2]

void TGeometry::Master2Local ( Float_t master,
Float_t local 
)
virtual

Convert one point from master system to local reference system.

Note that before invoking this function, the global rotation matrix and translation vector for this node must have been computed. This is automatically done by the Paint functions. Otherwise TNode::UpdateMatrix should be called before.

Definition at line 532 of file TGeometry.cxx.

◆ Node()

void TGeometry::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 = "" 
)
virtual

Add a node to the current node in this geometry.

Definition at line 557 of file TGeometry.cxx.

◆ operator=()

TGeometry & TGeometry::operator= ( const TGeometry geo)
protected

assignment operator

Definition at line 168 of file TGeometry.cxx.

◆ PopLevel()

virtual Int_t TGeometry::PopLevel ( )
inlinevirtual

Definition at line 100 of file TGeometry.h.

◆ PushLevel()

virtual Int_t TGeometry::PushLevel ( )
inlinevirtual

Definition at line 99 of file TGeometry.h.

◆ RecursiveRemove()

void TGeometry::RecursiveRemove ( TObject obj)
overridevirtual

Recursively remove object from a Geometry list.

Reimplemented from TObject.

Definition at line 565 of file TGeometry.cxx.

◆ SetBomb()

virtual void TGeometry::SetBomb ( Float_t  bomb = 1.4)
inlinevirtual

Definition at line 102 of file TGeometry.h.

◆ SetCurrentNode()

virtual void TGeometry::SetCurrentNode ( TNode node)
inlinevirtual

Definition at line 103 of file TGeometry.h.

◆ SetGeomLevel()

virtual void TGeometry::SetGeomLevel ( Int_t  level = 0)
inlinevirtual

Definition at line 104 of file TGeometry.h.

◆ SetMatrix()

virtual void TGeometry::SetMatrix ( TRotMatrix matrix = nullptr)
inlinevirtual

Definition at line 105 of file TGeometry.h.

◆ SetPosition() [1/4]

void TGeometry::SetPosition ( Double_t  x,
Double_t  y,
Double_t  z 
)
inlinevirtual

Definition at line 139 of file TGeometry.h.

◆ SetPosition() [2/4]

void TGeometry::SetPosition ( Float_t  x,
Float_t  y,
Float_t  z 
)
inlinevirtual

Definition at line 143 of file TGeometry.h.

◆ SetPosition() [3/4]

void TGeometry::SetPosition ( TRotMatrix matrix,
Double_t  x = 0,
Double_t  y = 0,
Double_t  z = 0 
)
inlinevirtual

Definition at line 147 of file TGeometry.h.

◆ SetPosition() [4/4]

void TGeometry::SetPosition ( TRotMatrix matrix,
Float_t  x,
Float_t  y,
Float_t  z 
)
inlinevirtual

Definition at line 152 of file TGeometry.h.

◆ Streamer()

void TGeometry::Streamer ( TBuffer b)
overridevirtual

Stream a class object.

Reimplemented from TObject.

Definition at line 573 of file TGeometry.cxx.

◆ StreamerNVirtual()

void TGeometry::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 119 of file TGeometry.h.

◆ UpdateMatrix()

void TGeometry::UpdateMatrix ( TNode node)
virtual

Update global rotation matrix/translation vector for this node this function must be called before invoking Local2Master.

Definition at line 635 of file TGeometry.cxx.

◆ UpdateTempMatrix() [1/3]

void TGeometry::UpdateTempMatrix ( Double_t dx,
Double_t rmat,
Double_t  x,
Double_t  y,
Double_t  z,
Double_t matrix,
Double_t dxnew,
Double_t rmatnew 
)
static

Compute new translation vector and global matrix.

  • dx old translation vector
  • rmat old global matrix
  • x,y,z offset of new local system with respect to mother
  • dxnew new translation vector
  • rmatnew new global rotation matrix

Definition at line 710 of file TGeometry.cxx.

◆ UpdateTempMatrix() [2/3]

void TGeometry::UpdateTempMatrix ( Double_t  x,
Double_t  y,
Double_t  z,
Double_t matrix,
Bool_t  isReflection = kFALSE 
)
virtual

Update temp matrix.

Definition at line 675 of file TGeometry.cxx.

◆ UpdateTempMatrix() [3/3]

void TGeometry::UpdateTempMatrix ( Double_t  x = 0,
Double_t  y = 0,
Double_t  z = 0,
TRotMatrix matrix = nullptr 
)
virtual

Update temp matrix.

Definition at line 661 of file TGeometry.cxx.

Member Data Documentation

◆ fBomb

Float_t TGeometry::fBomb
private

Pointers to shapes.

Definition at line 51 of file TGeometry.h.

◆ fCurrentNode

TNode* TGeometry::fCurrentNode
private

Pointers to current rotation matrices.

Definition at line 47 of file TGeometry.h.

◆ fGeomLevel

Int_t TGeometry::fGeomLevel
private

Definition at line 52 of file TGeometry.h.

◆ fIsReflection

Bool_t TGeometry::fIsReflection[kMAXLEVELS]
private

Definition at line 58 of file TGeometry.h.

◆ fMaterialPointer

TMaterial** TGeometry::fMaterialPointer
private

Pointer to current node.

Definition at line 48 of file TGeometry.h.

◆ fMaterials

THashList* TGeometry::fMaterials
private

Definition at line 42 of file TGeometry.h.

◆ fMatrices

THashList* TGeometry::fMatrices
private

Definition at line 43 of file TGeometry.h.

◆ fMatrix

TRotMatrix* TGeometry::fMatrix
private

Definition at line 46 of file TGeometry.h.

◆ fMatrixPointer

TRotMatrix** TGeometry::fMatrixPointer
private

Pointers to materials.

Definition at line 49 of file TGeometry.h.

◆ fNodes

TList* TGeometry::fNodes
private

Definition at line 45 of file TGeometry.h.

◆ fRotMatrix

Double_t TGeometry::fRotMatrix[kMAXLEVELS][kMatrixSize]
private

Definition at line 57 of file TGeometry.h.

◆ fShapePointer

TShape** TGeometry::fShapePointer
private

Pointers to rotation matrices.

Definition at line 50 of file TGeometry.h.

◆ fShapes

THashList* TGeometry::fShapes
private

Definition at line 44 of file TGeometry.h.

◆ fTranslation

Double_t TGeometry::fTranslation[kMAXLEVELS][kVectorSize]
private

Definition at line 56 of file TGeometry.h.

◆ fX

Double_t TGeometry::fX
private

Definition at line 53 of file TGeometry.h.

◆ fY

Double_t TGeometry::fY
private

Definition at line 54 of file TGeometry.h.

◆ fZ

Double_t TGeometry::fZ
private

The global translation of the current node.

Definition at line 55 of file TGeometry.h.

Libraries for TGeometry:

The documentation for this class was generated from the following files: