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

TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.

Volumes are the basic objects used in building the geometrical hierarchy. They represent unpositioned objects but store all information about the placement of the other volumes they may contain. Therefore a volume can be replicated several times in the geometry. In order to create a volume, one has to put together a shape and a medium which are already defined. Volumes have to be named by users at creation time. Every different name may represent a an unique volume object, but may also represent more general a family (class) of volume objects having the same shape type and medium, but possibly different shape parameters. It is the user's task to provide different names for different volume families in order to avoid ambiguities at tracking time. A generic family rather than a single volume is created only in two cases : when a generic shape is provided to the volume constructor or when a division operation is applied. Each volume in the geometry stores an unique ID corresponding to its family. In order to ease-up their creation, the manager class is providing an API that allows making a shape and a volume in a single step.

Volumes are objects that can be visualized, therefore having visibility, colour, line and fill attributes that can be defined or modified any time after the volume creation. It is advisable however to define these properties just after the first creation of a volume namespace, since in case of volume families any new member created by the modeler inherits these properties.

In order to provide navigation features, volumes have to be able to find the proper container of any point defined in the local reference frame. This can be the volume itself, one of its positioned daughter volumes or none if the point is actually outside. On the other hand, volumes have to provide also other navigation methods such as finding the distances to its shape boundaries or which daughter will be crossed first. The implementation of these features is done at shape level, but the local mother-daughters management is handled by volumes that builds additional optimisation structures upon geometry closure. In order to have navigation features properly working one has to follow the general rules for building a valid geometry (see TGeoManager class).

Now let's make a simple volume representing a copper wire. We suppose that a medium is already created (see TGeoMedium class on how to create media). We will create a TUBE shape for our wire, having Rmin=0cm, Rmax=0.01cm and a half-length dZ=1cm :

TGeoTube *tube = new TGeoTube("wire_tube", 0, 0.01, 1);

One may omit the name for the shape if no retrieving by name is further needed during geometry building. The same shape can be shared by different volumes having different names and materials. Now let's make the volume for our wire. The prototype for volumes constructor looks like :

TGeoVolume::TGeoVolume(const char *name, TGeoShape *shape, TGeoMedium *med)

Since TGeoTube derives from the base shape class, we can provide it to the volume constructor :

TGeoVolume *wire_co = new TGeoVolume("WIRE_CO", tube, ptrCOPPER);
TGeoVolume()
dummy constructor
TGeoVolume(const TGeoVolume &)=delete

Do not bother to delete neither the media, shapes or volumes that you have created since all will be automatically cleaned on exit by the manager class. If we would have taken a look inside TGeoManager::MakeTube() method, we would have been able to create our wire with a single line :

TGeoVolume *wire_co = gGeoManager->MakeTube("WIRE_CO", ptrCOPPER, 0, 0.01, 1);
externTGeoManager * gGeoManager

The same applies for all primitive shapes, for which there can be found corresponding MakeSHAPE() methods. Their usage is much more convenient unless a shape has to be shared between more volumes. Let's make now an aluminium wire having the same shape, supposing that we have created the copper wire with the line above :

TGeoVolume *wire_al = new TGeoVolume("WIRE_AL", wire_co->GetShape(), ptrAL);
TGeoShape * GetShape() const
Definition TGeoVolume.h:191

Now that we have learned how to create elementary volumes, let's see how we can create a geometrical hierarchy.

Positioning volumes

When creating a volume one does not specify if this will contain or not other volumes. Adding daughters to a volume implies creating those and adding them one by one to the list of daughters. Since the volume has to know the position of all its daughters, we will have to supply at the same time a geometrical transformation with respect to its local reference frame for each of them. The objects referencing a volume and a transformation are called NODES and their creation is fully handled by the modeler. They represent the link elements in the hierarchy of volumes. Nodes are unique and distinct geometrical objects ONLY from their container point of view. Since volumes can be replicated in the geometry, the same node may be found on different branches.

An important observation is that volume objects are owned by the TGeoManager class. This stores a list of all volumes in the geometry, that is cleaned upon destruction.

Let's consider positioning now our wire in the middle of a gas chamber. We need first to define the gas chamber :

TGeoVolume *chamber = gGeoManager->MakeTube("CHAMBER", ptrGAS, 0, 1, 1);

Now we can put the wire inside :

chamber->AddNode(wire_co, 1);
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.

If we inspect now the chamber volume in a browser, we will notice that it has one daughter. Of course the gas has some container also, but let's keep it like that for the sake of simplicity. The full prototype of AddNode() is :

TGeoVolume::AddNode(TGeoVolume *daughter, Int_t usernumber,
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
externTGeoIdentity * gGeoIdentity
Definition TGeoMatrix.h:538
Geometrical transformation package.
Definition TGeoMatrix.h:39

Since we did not supplied the third argument, the wire will be positioned with an identity transformation inside the chamber. One will notice that the inner radii of the wire and chamber are both zero - therefore, aren't the two volumes overlapping ? The answer is no, the modeler is even relaying on the fact that any daughter is fully contained by its mother. On the other hand, neither of the nodes positioned inside a volume should overlap with each other. We will see that there are allowed some exceptions to those rules.

Overlapping volumes

Positioning volumes that does not overlap their neighbours nor extrude their container is sometimes quite strong constraint. Some parts of the geometry might overlap naturally, e.g. two crossing tubes. The modeller supports such cases only if the overlapping nodes are declared by the user. In order to do that, one should use TGeoVolume::AddNodeOverlap() instead of TGeoVolume::AddNode(). When 2 or more positioned volumes are overlapping, not all of them have to be declared so, but at least one. A point inside an overlapping region equally belongs to all overlapping nodes, but the way these are defined can enforce the modeler to give priorities. The general rule is that the deepest node in the hierarchy containing a point have the highest priority. For the same geometry level, non-overlapping is prioritised over overlapping. In order to illustrate this, we will consider few examples. We will designate non-overlapping nodes as ONLY and the others MANY as in GEANT3, where this concept was introduced:

  1. The part of a MANY node B extruding its container A will never be "seen" during navigation, as if B was in fact the result of the intersection of A and B.
  2. If we have two nodes A (ONLY) and B (MANY) inside the same container, all points in the overlapping region of A and B will be designated as belonging to A.
  3. If A an B in the above case were both MANY, points in the overlapping part will be designated to the one defined first. Both nodes must have the same medium.
  4. The slices of a divided MANY will be as well MANY.

One needs to know that navigation inside geometry parts MANY nodes is much slower. Any overlapping part can be defined based on composite shapes - this is always recommended.

Replicating volumes

What can we do if our chamber contains two identical wires instead of one ? What if then we would need 1000 chambers in our detector ? Should we create 2000 wires and 1000 chamber volumes ? No, we will just need to replicate the ones that we have already created.

chamber->AddNode(wire_co, 1, new TGeoTranslation(-0.2,0,0));
chamber->AddNode(wire_co, 2, new TGeoTranslation(0.2,0,0));
Class describing translations.
Definition TGeoMatrix.h:117

The 2 nodes that we have created inside chamber will both point to a wire_co object, but will be completely distinct : WIRE_CO_1 and WIRE_CO_2. We will want now to place symmetrically 1000 chambers on a pad, following a pattern of 20 rows and 50 columns. One way to do this will be to replicate our chamber by positioning it 1000 times in different positions of the pad. Unfortunately, this is far from being the optimal way of doing what we want. Imagine that we would like to find out which of the 1000 chambers is containing a (x,y,z) point defined in the pad reference. You will never have to do that, since the modeller will take care of it for you, but let's guess what it has to do. The most simple algorithm will just loop over all daughters, convert the point from mother to local reference and check if the current chamber contains the point or not. This might be efficient for pads with few chambers, but definitely not for 1000. Fortunately the modeler is smarter than that and create for each volume some optimization structures called voxels (see Voxelization) to minimize the penalty having too many daughters, but if you have 100 pads like this in your geometry you will anyway loose a lot in your tracking performance.

The way out when volumes can be arranged according to simple patterns is the usage of divisions. We will describe them in detail later on. Let's think now at a different situation : instead of 1000 chambers of the same type, we may have several types of chambers. Let's say all chambers are cylindrical and have a wire inside, but their dimensions are different. However, we would like all to be represented by a single volume family, since they have the same properties.

Definition at line 43 of file TGeoVolume.h.

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  { kBitMask = 0x00ffffff }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EGeoActivityAtt { kActOverride = (1ULL << (8)) , kActNone = (1ULL << (9)) , kActThis = (1ULL << (10)) , kActDaughters = (1ULL << (11)) }
enum  EGeoOptimizationAtt { kUseBoundingBox = (1ULL << (16)) , kUseVoxels = (1ULL << (17)) , kUseGsord = (1ULL << (18)) }
enum  EGeoSavePrimitiveAtt { kSavePrimitiveAtt = (1ULL << (19)) , kSaveNodesAtt = (1ULL << (20)) }
enum  EGeoVisibilityAtt {
  kVisOverride = (1ULL << (0)) , kVisNone = (1ULL << (1)) , kVisThis = (1ULL << (2)) , kVisDaughters = (1ULL << (3)) ,
  kVisOneLevel = (1ULL << (4)) , kVisStreamed = (1ULL << (5)) , kVisTouched = (1ULL << (6)) , kVisOnScreen = (1ULL << (7)) ,
  kVisContainers = (1ULL << (12)) , kVisOnly = (1ULL << (13)) , kVisBranch = (1ULL << (14)) , kVisRaytrace = (1ULL << (15))
}
enum  EGeoVolumeTypes {
  kVolumeReplicated = (1ULL << (14)) , kVolumeSelected = (1ULL << (15)) , kVolumeDiv = (1ULL << (16)) , kVolumeOverlap = (1ULL << (17)) ,
  kVolumeImportNodes = (1ULL << (18)) , kVolumeMulti = (1ULL << (19)) , kVoxelsXYZ = (1ULL << (20)) , kVoxelsCyl = (1ULL << (21)) ,
  kVolumeClone = (1ULL << (22)) , kVolumeAdded = (1ULL << (23)) , kVolumeOC = (1ULL << (21))
}
enum  EStatusBits {
  kCanDelete = (1ULL << (0)) , kMustCleanup = (1ULL << (3)) , kIsReferenced = (1ULL << (4)) , kHasUUID = (1ULL << (5)) ,
  kCannotPick = (1ULL << (6)) , kNoContextMenu = (1ULL << (8)) , kInvalidObject = (1ULL << (13))
}

Public Member Functions

 TGeoVolume ()
 dummy constructor
 TGeoVolume (const char *name, const TGeoShape *shape, const TGeoMedium *med=nullptr)
 default constructor
 ~TGeoVolume () override
 Destructor.
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual TGeoNodeAddNode (TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
 Add a TGeoNode to the list of nodes.
void AddNodeOffset (TGeoVolume *vol, Int_t copy_no, Double_t offset=0, Option_t *option="")
 Add a division node to the list of nodes.
virtual void AddNodeOverlap (TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
 Add a TGeoNode to the list of nodes.
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
void Browse (TBrowser *b) override
 How to browse a volume.
Double_t Capacity () const
 Computes the capacity of this [cm^3] as the capacity of its shape.
virtual void cd (Int_t inode) const
 Actualize matrix of node indexed <inode>.
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.
void CheckGeometry (Int_t nrays=1, Double_t startx=0, Double_t starty=0, Double_t startz=0) const
 Shoot nrays with random directions from starting point (startx, starty, startz) in the reference frame of this volume.
void CheckOverlaps (Double_t ovlp=0.1, Option_t *option="")
 Overlap checking tool. Check for illegal overlaps within a limit OVLP.
void CheckOverlapsBySampling (Double_t ovlp=0.1, Int_t npoints=1000000)
 Overlap by sampling legacy checking tool. Check for illegal overlaps within a limit OVLP.
void CheckShape (Int_t testNo, Int_t nsamples=10000, Option_t *option="")
 Tests for checking the shape navigation algorithms. See TGeoShape::CheckShape().
void CheckShapes ()
 check for negative parameters in shapes.
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
void CleanAll ()
 Clean data of the volume.
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
void ClearNodes ()
void ClearShape ()
 Clear the shape of this volume from the list held by the current manager.
virtual void ClearThreadData () const
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
void CloneNodesAndConnect (TGeoVolume *newmother) const
 Clone the array of nodes.
virtual TGeoVolumeCloneVolume () const
 Clone this volume.
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
Bool_t Contains (const Double_t *point) const
void Copy (TAttFill &attfill) const
void Copy (TAttLine &attline) const
void Copy (TObject &named) const override
 Copy this to obj.
Int_t CountNodes (Int_t nlevels=1000, Int_t option=0)
 Count total number of subnodes starting from this volume, nlevels down.
virtual void CreateThreadData (Int_t nthreads)
virtual void Delete (Option_t *option="")
 Delete this object.
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
Int_t DistancetoPrimitive (Int_t px, Int_t py) override
 compute the closest distance of approach from point px,py to this volume
virtual TGeoVolumeDivide (const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
 Division a la G3.
void Draw (Option_t *option="") override
 draw top volume according to option
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 DrawOnly (Option_t *option="")
 draw only this volume
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.
void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
 Execute mouse actions on this volume.
Int_t Export (const char *filename, const char *name="", Option_t *option="")
 Export this volume to a file.
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
Bool_t FindMatrixOfDaughterVolume (TGeoVolume *vol) const
 Find a daughter node having VOL as volume and fill TGeoManager::fHMatrix with its global matrix.
TGeoNodeFindNode (const char *name) const
 search a daughter inside the list of nodes
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
void FindOverlaps () const
 loop all nodes marked as overlaps and find overlapping brothers
virtual Int_t GetByteCount () const
 get the total size in bytes for this volume
virtual Int_t GetCurrentNodeIndex () const
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
TObjectGetField () const
virtual Color_t GetFillColor () const
 Return the fill area color.
virtual Style_t GetFillStyle () const
 Return the fill area style.
TGeoPatternFinderGetFinder () const
TGeoExtensionGetFWExtension () const
TGeoManagerGetGeoManager () const
const char * GetIconName () const override
 Returns mime type name of object.
Int_t GetIndex (const TGeoNode *node) const
 get index number for a given daughter
virtual Color_t GetLineColor () const
 Return the line color.
virtual Style_t GetLineStyle () const
 Return the line style.
virtual Width_t GetLineWidth () const
 Return the line width.
TGeoMaterialGetMaterial () const
TGeoMediumGetMedium () const
const char * GetName () const override
 Returns name of object.
Int_t GetNdaughters () const
virtual Int_t GetNextNodeIndex () const
TGeoNodeGetNode (const char *name) const
 get the pointer to a daughter node
TGeoNodeGetNode (Int_t i) const
Int_t GetNodeIndex (const TGeoNode *node, Int_t *check_list, Int_t ncheck) const
 Get the index of a daughter within check_list by providing the node pointer.
TObjArrayGetNodes ()
Int_t GetNtotal () const
Int_t GetNumber () const
char * GetObjectInfo (Int_t px, Int_t py) const override
 Get volume info for the browser.
Bool_t GetOptimalVoxels () const
 Returns true if cylindrical voxelization is optimal.
Option_tGetOption () const override
const char * GetPointerName () const
 Provide a pointer name containing uid.
Int_t GetRefCount () const
TGeoShapeGetShape () const
const char * GetTitle () const override
 Returns title of object.
Char_t GetTransparency () const
virtual UInt_t GetUniqueID () const
 Return the unique object id.
TGeoExtensionGetUserExtension () const
TGeoVoxelFinderGetVoxels () const
 Getter for optimization structure.
void Grab ()
void GrabFocus ()
 Move perspective view focus to this volume.
TGeoExtensionGrabFWExtension () const
 Get a copy of the framework extension pointer.
TGeoExtensionGrabUserExtension () const
 Get a copy of the user extension pointer.
void Gsord (Int_t)
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
ULong_t Hash () const override
 Return hash value for this object.
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 InspectMaterial () const
 Inspect the material for this volume.
void InspectShape () const
void InvertBit (UInt_t f)
void InvisibleAll (Bool_t flag=kTRUE)
 Make volume and each of it daughters (in)visible.
TClassIsA () const override
Bool_t IsActive () const
Bool_t IsActiveDaughters () const
Bool_t IsAdded () const
Bool_t IsAllInvisible () const
 Return TRUE if volume and all daughters are invisible.
virtual Bool_t IsAssembly () const
 Returns true if the volume is an assembly or a scaled assembly.
Bool_t IsCylVoxels () const
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).
Bool_t IsFolder () const override
 Return TRUE if volume contains nodes.
Bool_t IsOnHeap () const
Bool_t IsOverlappingCandidate () const
Bool_t IsRaytracing () const
 Check if the painter is currently ray-tracing the content of this volume.
Bool_t IsReplicated () const
Bool_t IsRunTime () const
Bool_t IsSelected () const
Bool_t IsSortable () const override
Bool_t IsStyleDefault () const
 check if the visibility and attributes are the default ones
Bool_t IsTopVolume () const
 True if this is the top volume of the geometry.
virtual Bool_t IsTransparent () const
Bool_t IsValid () const
Bool_t IsVisBranch () const
Bool_t IsVisContainers () const
Bool_t IsVisDaughters () const
virtual Bool_t IsVisible () const
Bool_t IsVisibleDaughters () const
Bool_t IsVisLeaves () const
Bool_t IsVisOnly () const
Bool_t IsVisRaytrace () const
Bool_t IsVisStreamed () const
Bool_t IsVisTouched () const
virtual Bool_t IsVolumeMulti () const
Bool_t IsXYZVoxels () const
Bool_t IsZombie () const
TH2FLegoPlot (Int_t ntheta=20, Double_t themin=0., Double_t themax=180., Int_t nphi=60, Double_t phimin=0., Double_t phimax=360., Double_t rmin=0., Double_t rmax=9999999, Option_t *option="")
 Generate a lego plot fot the top volume, according to option.
void ls (Option_t *option="") const override
 List TNamed name and title.
void MakeCopyNodes (const TGeoVolume *other)
 make a new list of nodes and copy all nodes of other volume inside
virtual TGeoVolumeMakeCopyVolume (TGeoShape *newshape)
 make a copy of this volume build a volume with same name, shape and medium
TGeoVolumeMakeReflectedVolume (const char *newname="") const
 Make a copy of this volume which is reflected with respect to XY plane.
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 void Modify ()
virtual void Modify ()
virtual void ModifyOn (TVirtualPad &pad)
virtual void ModifyOn (TVirtualPad &pad)
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 *, size_t)
 Operator delete for sized deallocation.
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 *, size_t)
 Operator delete [] for sized deallocation.
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)
Bool_t OptimizeVoxels ()
 Perform an extensive sampling to find which type of voxelization is most efficient.
void Paint (Option_t *option="") override
 paint volume
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
void Print (Option_t *option="") const override
 Print volume info.
void PrintNodes () const
 print nodes
void PrintVoxels () const
 Print the voxels for this volume.
void RandomPoints (Int_t npoints=1000000, Option_t *option="")
 Draw random points in the bounding box of this volume.
void RandomRays (Int_t nrays=10000, Double_t startx=0, Double_t starty=0, Double_t startz=0, const char *target_vol=nullptr, Bool_t check_norm=kFALSE)
 Random raytracing method.
void Raytrace (Bool_t flag=kTRUE)
 Draw this volume with current settings and perform raytracing in the pad.
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
void RegisterYourself (Option_t *option="")
 Register the volume and all materials/media/matrices/shapes to the manager.
void Release ()
void RemoveNode (TGeoNode *node)
 Remove an existing daughter.
TGeoNodeReplaceNode (TGeoNode *nodeorig, TGeoShape *newshape=nullptr, TGeoMatrix *newpos=nullptr, TGeoMedium *newmed=nullptr)
 Replace an existing daughter with a new volume having the same name but possibly a new shape, position or medium.
void ReplayCreation (const TGeoVolume *other)
 Recreate the content of the other volume without pointer copying.
void ResetAttBit (UInt_t f)
virtual void ResetAttFill (Option_t *option="")
virtual void ResetAttLine (Option_t *option="")
void ResetBit (UInt_t f)
void ResetTransparency (Char_t transparency=-1)
void SaveAs (const char *filename="", Option_t *option="") const override
 Save geometry having this as top volume as a C++ macro.
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
void SavePrimitive (std::ostream &out, Option_t *option="") override
 Save a primitive as a C++ statement(s) on output stream "out".
void SelectVolume (Bool_t clear=kFALSE)
 Select this volume as matching an arbitrary criteria.
void SetActiveDaughters (Bool_t flag=kTRUE)
void SetActivity (Bool_t flag=kTRUE)
void SetAdded ()
void SetAsTopVolume ()
 Set this volume as the TOP one (the whole geometry starts from here).
void SetAttBit (UInt_t f)
void SetAttBit (UInt_t f, Bool_t set)
void SetAttVisibility (Bool_t vis)
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
void SetCurrentPoint (Double_t x, Double_t y, Double_t z)
 Set the current tracking point.
void SetCylVoxels (Bool_t flag=kTRUE)
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
void SetField (TObject *field)
virtual void SetFillAttributes ()
virtual void SetFillColor (Color_t fcolor)
 Set the fill area color.
void SetFillColor (TColorNumber)
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
virtual void SetFillStyle (Style_t fstyle)
 Set the fill area style.
void SetFinder (TGeoPatternFinder *finder)
void SetFWExtension (TGeoExtension *ext)
 Connect framework defined extension to the volume.
void SetInvisible ()
virtual void SetLineAttributes ()
void SetLineColor (TColorNumber lcolor)
void SetLineColor (Color_t lcolor) override
 Set the line color.
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
void SetLineStyle (Style_t lstyle) override
 Set the line style.
void SetLineWidth (Width_t lwidth) override
 Set the line width.
virtual void SetMedium (TGeoMedium *medium)
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).
void SetNodes (TObjArray *nodes)
void SetNtotal (Int_t ntotal)
void SetNumber (Int_t number)
void SetOptimization (Option_t *option)
 Set optimization flags.
void SetOption (const char *option)
 Set the current options (none implemented).
void SetOverlappingCandidate (Bool_t flag)
void SetReplicated ()
void SetShape (const TGeoShape *shape)
 set the shape associated with this volume
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
void SetTransparency (Char_t transparency=0)
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
void SetUserExtension (TGeoExtension *ext)
 Connect user-defined extension to the volume.
void SetVisBranch ()
 Set branch type visibility.
void SetVisContainers (Bool_t flag=kTRUE) override
 Set visibility for containers.
void SetVisDaughters (Bool_t vis=kTRUE)
 Set visibility for the daughters.
void SetVisibility (Bool_t vis=kTRUE) override
 set visibility of this volume
void SetVisLeaves (Bool_t flag=kTRUE) override
 Set visibility for leaves.
void SetVisOnly (Bool_t flag=kTRUE) override
 Set visibility for leaves.
void SetVisRaytrace (Bool_t flag=kTRUE)
void SetVisStreamed (Bool_t vis=kTRUE)
 Mark attributes as "streamed to file".
void SetVisTouched (Bool_t vis=kTRUE)
 Mark visualization attributes as "modified".
void SetVoxelFinder (TGeoVoxelFinder *finder)
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
virtual void Sizeof3D () const
 Set total size of this 3D object (used by X3D interface).
void SortNodes ()
 sort nodes by decreasing volume of the bounding box.
void Streamer (TBuffer &) override
 Stream an object of class TGeoVolume.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
Bool_t TestAttBit (UInt_t f) const
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
void UnmarkSaved ()
 Reset SavePrimitive bits.
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
Bool_t Valid () const
 Check if the shape of this volume is valid.
void VisibleDaughters (Bool_t vis=kTRUE)
 set visibility for daughters
void Voxelize (Option_t *option)
 build the voxels for this volume
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
Double_t Weight (Double_t precision=0.01, Option_t *option="va")
 Estimate the weight of a volume (in kg) with SIGMA(M)/M better than PRECISION.
Double_t WeightA () const
 Analytical computation of the weight.
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 void CreateDummyMedium ()
 Create a dummy medium.
static const char * DeclFileName ()
static TGeoMediumDummyMedium ()
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static Bool_t GetObjectStat ()
 Get status of object stat flag.
static TGeoVolumeImport (const char *filename, const char *name="", Option_t *option="")
 Import a volume from a file.
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 Types

enum  { kOnlyPrepStep = (1ULL << (3)) }

Protected Member Functions

virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
void MakeZombie ()
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
 Save object name and title into the output stream "out".

Static Protected Member Functions

static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

TObjectfField
 ! just a hook for now
Color_t fFillColor
 Fill area color.
Style_t fFillStyle
 Fill area style.
TGeoPatternFinderfFinder
TGeoExtensionfFWExtension
 ! Transient framework-defined extension to volumes
UInt_t fGeoAtt
TGeoManagerfGeoManager
 ! pointer to TGeoManager owning this volume
Color_t fLineColor
 Line color.
Style_t fLineStyle
 Line style.
Width_t fLineWidth
 Line width.
TGeoMediumfMedium
TString fName
TObjArrayfNodes
Int_t fNtotal
Int_t fNumber
TString fOption
 ! option - if any
Int_t fRefCount
TGeoShapefShape
TString fTitle
Char_t fTransparency
TGeoExtensionfUserExtension
 ! Transient user-defined extension to volumes
TGeoVoxelFinderfVoxels

Static Protected Attributes

static TGeoMediumfgDummyMedium = nullptr
 ! dummy medium

Private Member Functions

 TGeoVolume (const TGeoVolume &)=delete
TGeoVolumeoperator= (const TGeoVolume &)=delete

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

UInt_t fBits
 bit field status word
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

#include <TGeoVolume.h>

Inheritance diagram for TGeoVolume:
TNamed TGeoAtt TAttLine TAttFill TAtt3D TObject TGeoVolumeAssembly TGeoVolumeMulti

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kBitMask 

Definition at line 19 of file TGeoAtt.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EGeoActivityAtt

enum TGeoAtt::EGeoActivityAtt
inherited
Enumerator
kActOverride 
kActNone 
kActThis 
kActDaughters 

Definition at line 38 of file TGeoAtt.h.

◆ EGeoOptimizationAtt

Enumerator
kUseBoundingBox 
kUseVoxels 
kUseGsord 

Definition at line 45 of file TGeoAtt.h.

◆ EGeoSavePrimitiveAtt

Enumerator
kSavePrimitiveAtt 
kSaveNodesAtt 

Definition at line 50 of file TGeoAtt.h.

◆ EGeoVisibilityAtt

Enumerator
kVisOverride 
kVisNone 
kVisThis 
kVisDaughters 
kVisOneLevel 
kVisStreamed 
kVisTouched 
kVisOnScreen 
kVisContainers 
kVisOnly 
kVisBranch 
kVisRaytrace 

Definition at line 23 of file TGeoAtt.h.

◆ EGeoVolumeTypes

Enumerator
kVolumeReplicated 
kVolumeSelected 
kVolumeDiv 
kVolumeOverlap 
kVolumeImportNodes 
kVolumeMulti 
kVoxelsXYZ 
kVoxelsCyl 
kVolumeClone 
kVolumeAdded 
kVolumeOC 

Definition at line 71 of file TGeoVolume.h.

◆ EStatusBits

enum TObject::EStatusBits
inherited
Enumerator
kCanDelete 

if object in a list can be deleted

kMustCleanup 

if object destructor must call RecursiveRemove()

kIsReferenced 

if object is referenced by a TRef or TRefArray

kHasUUID 

if object has a TUUID (its fUniqueID=UUIDNumber)

kCannotPick 

if object in a pad cannot be picked

kNoContextMenu 

if object does not want context menu

kInvalidObject 

if object ctor succeeded but object should not be used

Definition at line 70 of file TObject.h.

Constructor & Destructor Documentation

◆ TGeoVolume() [1/3]

TGeoVolume::TGeoVolume ( const TGeoVolume & )
privatedelete

◆ TGeoVolume() [2/3]

TGeoVolume::TGeoVolume ( )

dummy constructor

Definition at line 456 of file TGeoVolume.cxx.

◆ TGeoVolume() [3/3]

TGeoVolume::TGeoVolume ( const char * name,
const TGeoShape * shape,
const TGeoMedium * med = nullptr )

default constructor

Definition at line 478 of file TGeoVolume.cxx.

◆ ~TGeoVolume()

TGeoVolume::~TGeoVolume ( )
override

Destructor.

Definition at line 513 of file TGeoVolume.cxx.

Member Function Documentation

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ AddNode()

TGeoNode * TGeoVolume::AddNode ( TGeoVolume * vol,
Int_t copy_no,
TGeoMatrix * mat = nullptr,
Option_t * option = "" )
virtual

Add a TGeoNode to the list of nodes.

This is the usual method for adding daughters inside the container volume.

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 1095 of file TGeoVolume.cxx.

◆ AddNodeOffset()

void TGeoVolume::AddNodeOffset ( TGeoVolume * vol,
Int_t copy_no,
Double_t offset = 0,
Option_t * option = "" )

Add a division node to the list of nodes.

The method is called by TGeoVolume::Divide() for creating the division nodes.

Definition at line 1138 of file TGeoVolume.cxx.

◆ AddNodeOverlap()

void TGeoVolume::AddNodeOverlap ( TGeoVolume * vol,
Int_t copy_no,
TGeoMatrix * mat = nullptr,
Option_t * option = "" )
virtual

Add a TGeoNode to the list of nodes.

This is the usual method for adding daughters inside the container volume.

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 1164 of file TGeoVolume.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ Browse()

void TGeoVolume::Browse ( TBrowser * b)
overridevirtual

How to browse a volume.

Reimplemented from TObject.

Definition at line 538 of file TGeoVolume.cxx.

◆ Capacity()

Double_t TGeoVolume::Capacity ( ) const

Computes the capacity of this [cm^3] as the capacity of its shape.

In case of assemblies, the capacity is computed as the sum of daughter's capacities.

Definition at line 574 of file TGeoVolume.cxx.

◆ cd()

void TGeoVolume::cd ( Int_t inode) const
virtual

Actualize matrix of node indexed <inode>.

Definition at line 1085 of file TGeoVolume.cxx.

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ CheckGeometry()

void TGeoVolume::CheckGeometry ( Int_t nrays = 1,
Double_t startx = 0,
Double_t starty = 0,
Double_t startz = 0 ) const

Shoot nrays with random directions from starting point (startx, starty, startz) in the reference frame of this volume.

Track each ray until exiting geometry, then shoot backwards from exiting point and compare boundary crossing points.

Definition at line 591 of file TGeoVolume.cxx.

◆ CheckOverlaps()

void TGeoVolume::CheckOverlaps ( Double_t ovlp = 0.1,
Option_t * option = "" )

Overlap checking tool. Check for illegal overlaps within a limit OVLP.

Definition at line 606 of file TGeoVolume.cxx.

◆ CheckOverlapsBySampling()

void TGeoVolume::CheckOverlapsBySampling ( Double_t ovlp = 0.1,
Int_t npoints = 1000000 )

Overlap by sampling legacy checking tool. Check for illegal overlaps within a limit OVLP.

Definition at line 737 of file TGeoVolume.cxx.

◆ CheckShape()

void TGeoVolume::CheckShape ( Int_t testNo,
Int_t nsamples = 10000,
Option_t * option = "" )

Tests for checking the shape navigation algorithms. See TGeoShape::CheckShape().

Definition at line 771 of file TGeoVolume.cxx.

◆ CheckShapes()

void TGeoVolume::CheckShapes ( )

check for negative parameters in shapes.

Definition at line 796 of file TGeoVolume.cxx.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 257 of file TGeoVolume.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ CleanAll()

void TGeoVolume::CleanAll ( )

Clean data of the volume.

Definition at line 779 of file TGeoVolume.cxx.

◆ Clear()

void TNamed::Clear ( Option_t * option = "")
overridevirtualinherited

Set name and title to empty strings ("").

Reimplemented from TObject.

Reimplemented in TPrincipal, TProcessID, TStreamerInfo, TTask, TVirtualFitter, and TVirtualStreamerInfo.

Definition at line 63 of file TNamed.cxx.

◆ ClearNodes()

void TGeoVolume::ClearNodes ( )
inline

Definition at line 95 of file TGeoVolume.h.

◆ ClearShape()

void TGeoVolume::ClearShape ( )

Clear the shape of this volume from the list held by the current manager.

Definition at line 788 of file TGeoVolume.cxx.

◆ ClearThreadData()

void TGeoVolume::ClearThreadData ( ) const
virtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 428 of file TGeoVolume.cxx.

◆ Clone()

TObject * TNamed::Clone ( const char * newname = "") const
overridevirtualinherited

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TObject.

Reimplemented in TStreamerInfo, and TTreeIndex.

Definition at line 73 of file TNamed.cxx.

◆ CloneNodesAndConnect()

void TGeoVolume::CloneNodesAndConnect ( TGeoVolume * newmother) const

Clone the array of nodes.

Definition at line 2000 of file TGeoVolume.cxx.

◆ CloneVolume()

TGeoVolume * TGeoVolume::CloneVolume ( ) const
virtual

Clone this volume.

build a volume with same name, shape and medium

Reimplemented in TGeoVolumeAssembly.

Definition at line 1951 of file TGeoVolume.cxx.

◆ Compare()

Int_t TNamed::Compare ( const TObject * obj) const
overridevirtualinherited

Compare two TNamed objects.

Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 84 of file TNamed.cxx.

◆ Contains()

Bool_t TGeoVolume::Contains ( const Double_t * point) const
inline

Definition at line 105 of file TGeoVolume.h.

◆ Copy() [1/3]

void TAttFill::Copy ( TAttFill & attfill) const
inherited

◆ Copy() [2/3]

void TAttLine::Copy ( TAttLine & attline) const
inherited

◆ Copy() [3/3]

void TNamed::Copy ( TObject & named) const
overridevirtualinherited

Copy this to obj.

Reimplemented from TObject.

Reimplemented in TPieSlice, TProfile2D, TProfile3D, TProfile, TStyle, TSystemDirectory, TSystemFile, TText, and TXTRU.

Definition at line 93 of file TNamed.cxx.

◆ CountNodes()

Int_t TGeoVolume::CountNodes ( Int_t nlevels = 1000,
Int_t option = 0 )

Count total number of subnodes starting from this volume, nlevels down.

  • option = 0 (default) - count only once per volume
  • option = 1 - count every time
  • option = 2 - count volumes on visible branches
  • option = 3 - return maximum level counted already with option = 0

Definition at line 850 of file TGeoVolume.cxx.

◆ CreateDummyMedium()

void TGeoVolume::CreateDummyMedium ( )
static

Create a dummy medium.

Definition at line 415 of file TGeoVolume.cxx.

◆ CreateThreadData()

void TGeoVolume::CreateThreadData ( Int_t nthreads)
virtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 438 of file TGeoVolume.cxx.

◆ DeclFileName()

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

Definition at line 257 of file TGeoVolume.h.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ DistancetoLine()

Int_t TAttLine::DistancetoLine ( Int_t px,
Int_t py,
Double_t xp1,
Double_t yp1,
Double_t xp2,
Double_t yp2 )
inherited

◆ DistancetoPrimitive()

Int_t TGeoVolume::DistancetoPrimitive ( Int_t px,
Int_t py )
overridevirtual

compute the closest distance of approach from point px,py to this volume

Reimplemented from TObject.

Definition at line 1311 of file TGeoVolume.cxx.

◆ Divide()

TGeoVolume * TGeoVolume::Divide ( const char * divname,
Int_t iaxis,
Int_t ndiv,
Double_t start,
Double_t step,
Int_t numed = 0,
Option_t * option = "" )
virtual

Division a la G3.

The volume will be divided along IAXIS (see shape classes), in NDIV slices, from START with given STEP. The division volumes will have medium number NUMED. If NUMED=0 they will get the medium number of the divided volume (this). If NDIV<=0, all range of IAXIS will be divided and the resulting number of divisions will be centered on IAXIS. If STEP<=0, the real STEP will be computed as the full range of IAXIS divided by NDIV. Options (case insensitive):

  • N - divide all range in NDIV cells (same effect as STEP<=0) (GSDVN in G3)
  • NX - divide range starting with START in NDIV cells (GSDVN2 in G3)
  • S - divide all range with given STEP. NDIV is computed and divisions will be centered in full range (same effect as NDIV<=0) (GSDVS, GSDVT in G3)
  • SX - same as DVS, but from START position. (GSDVS2, GSDVT2 in G3)

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 1223 of file TGeoVolume.cxx.

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

void TGeoVolume::Draw ( Option_t * option = "")
overridevirtual

draw top volume according to option

Reimplemented from TObject.

Definition at line 1326 of file TGeoVolume.cxx.

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ DrawOnly()

void TGeoVolume::DrawOnly ( Option_t * option = "")
virtual

draw only this volume

Reimplemented in TGeoVolumeAssembly.

Definition at line 1345 of file TGeoVolume.cxx.

◆ DummyMedium()

TGeoMedium * TGeoVolume::DummyMedium ( )
static

Definition at line 448 of file TGeoVolume.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
Style_t fFillStyle
Fill area style.
Definition TAttFill.h:25
Color_t fFillColor
Fill area color.
Definition TAttFill.h:24
Width_t fLineWidth
Line width.
Definition TAttLine.h:26
Style_t fLineStyle
Line style.
Definition TAttLine.h:25
Color_t fLineColor
Line color.
Definition TAttLine.h:24
TString fOption
! option - if any
Definition TGeoVolume.h:54
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

void TGeoVolume::ExecuteEvent ( Int_t event,
Int_t px,
Int_t py )
overridevirtual

Execute mouse actions on this volume.

Reimplemented from TObject.

Definition at line 1830 of file TGeoVolume.cxx.

◆ Export()

Int_t TGeoVolume::Export ( const char * filename,
const char * name = "",
Option_t * option = "" )

Export this volume to a file.

  • Case 1: root file or root/xml file if filename end with ".root". The key will be named name if filename end with ".xml" a root/xml file is produced.
  • Case 2: C++ script if filename end with ".C"
  • Case 3: gdml file if filename end with ".gdml"

NOTE that to use this option, the PYTHONPATH must be defined like export PYTHONPATH=$ROOTSYS/lib:$ROOTSYS/gdml

Definition at line 1047 of file TGeoVolume.cxx.

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FillBuffer()

void TNamed::FillBuffer ( char *& buffer)
virtualinherited

Encode TNamed into output buffer.

Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.

Definition at line 103 of file TNamed.cxx.

◆ FindMatrixOfDaughterVolume()

Bool_t TGeoVolume::FindMatrixOfDaughterVolume ( TGeoVolume * vol) const

Find a daughter node having VOL as volume and fill TGeoManager::fHMatrix with its global matrix.

Definition at line 2538 of file TGeoVolume.cxx.

◆ FindNode()

TGeoNode * TGeoVolume::FindNode ( const char * name) const

search a daughter inside the list of nodes

Definition at line 1841 of file TGeoVolume.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ FindOverlaps()

void TGeoVolume::FindOverlaps ( ) const

loop all nodes marked as overlaps and find overlapping brothers

Definition at line 2347 of file TGeoVolume.cxx.

◆ GetByteCount()

Int_t TGeoVolume::GetByteCount ( ) const
virtual

get the total size in bytes for this volume

Definition at line 2324 of file TGeoVolume.cxx.

◆ GetCurrentNodeIndex()

virtual Int_t TGeoVolume::GetCurrentNodeIndex ( ) const
inlinevirtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 168 of file TGeoVolume.h.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetField()

TObject * TGeoVolume::GetField ( ) const
inline

Definition at line 177 of file TGeoVolume.h.

◆ GetFillColor()

virtual Color_t TAttFill::GetFillColor ( ) const
inlinevirtualinherited

Return the fill area color.

Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.

Definition at line 32 of file TAttFill.h.

◆ GetFillStyle()

virtual Style_t TAttFill::GetFillStyle ( ) const
inlinevirtualinherited

Return the fill area style.

Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.

Definition at line 33 of file TAttFill.h.

◆ GetFinder()

TGeoPatternFinder * TGeoVolume::GetFinder ( ) const
inline

Definition at line 178 of file TGeoVolume.h.

◆ GetFWExtension()

TGeoExtension * TGeoVolume::GetFWExtension ( ) const
inline

Definition at line 134 of file TGeoVolume.h.

◆ GetGeoManager()

TGeoManager * TGeoVolume::GetGeoManager ( ) const
inline

Definition at line 174 of file TGeoVolume.h.

◆ GetIconName()

const char * TGeoVolume::GetIconName ( ) const
inlineoverridevirtual

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented from TObject.

Definition at line 180 of file TGeoVolume.h.

◆ GetIndex()

Int_t TGeoVolume::GetIndex ( const TGeoNode * node) const

get index number for a given daughter

Definition at line 1863 of file TGeoVolume.cxx.

◆ GetLineColor()

virtual Color_t TAttLine::GetLineColor ( ) const
inlinevirtualinherited

Return the line color.

Reimplemented in TGraphMultiErrors, and TGWin32VirtualXProxy.

Definition at line 36 of file TAttLine.h.

◆ GetLineStyle()

virtual Style_t TAttLine::GetLineStyle ( ) const
inlinevirtualinherited

Return the line style.

Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.

Definition at line 37 of file TAttLine.h.

◆ GetLineWidth()

virtual Width_t TAttLine::GetLineWidth ( ) const
inlinevirtualinherited

Return the line width.

Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.

Definition at line 38 of file TAttLine.h.

◆ GetMaterial()

TGeoMaterial * TGeoVolume::GetMaterial ( ) const
inline

Definition at line 175 of file TGeoVolume.h.

◆ GetMedium()

TGeoMedium * TGeoVolume::GetMedium ( ) const
inline

Definition at line 176 of file TGeoVolume.h.

◆ GetName()

const char * TNamed::GetName ( ) const
inlineoverridevirtualinherited

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 49 of file TNamed.h.

◆ GetNdaughters()

Int_t TGeoVolume::GetNdaughters ( ) const
inline

Definition at line 363 of file TGeoVolume.h.

◆ GetNextNodeIndex()

virtual Int_t TGeoVolume::GetNextNodeIndex ( ) const
inlinevirtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 169 of file TGeoVolume.h.

◆ GetNode() [1/2]

TGeoNode * TGeoVolume::GetNode ( const char * name) const

get the pointer to a daughter node

Definition at line 2313 of file TGeoVolume.cxx.

◆ GetNode() [2/2]

TGeoNode * TGeoVolume::GetNode ( Int_t i) const
inline

Definition at line 183 of file TGeoVolume.h.

◆ GetNodeIndex()

Int_t TGeoVolume::GetNodeIndex ( const TGeoNode * node,
Int_t * check_list,
Int_t ncheck ) const

Get the index of a daughter within check_list by providing the node pointer.

Definition at line 1849 of file TGeoVolume.cxx.

◆ GetNodes()

TObjArray * TGeoVolume::GetNodes ( )
inline

Definition at line 170 of file TGeoVolume.h.

◆ GetNtotal()

Int_t TGeoVolume::GetNtotal ( ) const
inline

Definition at line 172 of file TGeoVolume.h.

◆ GetNumber()

Int_t TGeoVolume::GetNumber ( ) const
inline

Definition at line 185 of file TGeoVolume.h.

◆ GetObjectInfo()

char * TGeoVolume::GetObjectInfo ( Int_t px,
Int_t py ) const
overridevirtual

Get volume info for the browser.

Reimplemented from TObject.

Definition at line 1880 of file TGeoVolume.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetOptimalVoxels()

Bool_t TGeoVolume::GetOptimalVoxels ( ) const

Returns true if cylindrical voxelization is optimal.

Definition at line 1892 of file TGeoVolume.cxx.

◆ GetOption()

Option_t * TGeoVolume::GetOption ( ) const
inlineoverridevirtual

Reimplemented from TObject.

Definition at line 188 of file TGeoVolume.h.

◆ GetPointerName()

const char * TGeoVolume::GetPointerName ( ) const

Provide a pointer name containing uid.

Definition at line 1912 of file TGeoVolume.cxx.

◆ GetRefCount()

Int_t TGeoVolume::GetRefCount ( ) const
inline

Definition at line 132 of file TGeoVolume.h.

◆ GetShape()

TGeoShape * TGeoVolume::GetShape ( ) const
inline

Definition at line 191 of file TGeoVolume.h.

◆ GetTitle()

const char * TNamed::GetTitle ( ) const
inlineoverridevirtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented from TObject.

Definition at line 50 of file TNamed.h.

◆ GetTransparency()

Char_t TGeoVolume::GetTransparency ( ) const
inline

Definition at line 370 of file TGeoVolume.h.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ GetUserExtension()

TGeoExtension * TGeoVolume::GetUserExtension ( ) const
inline

Definition at line 133 of file TGeoVolume.h.

◆ GetVoxels()

TGeoVoxelFinder * TGeoVolume::GetVoxels ( ) const

Getter for optimization structure.

Definition at line 1922 of file TGeoVolume.cxx.

◆ Grab()

void TGeoVolume::Grab ( )
inline

Definition at line 137 of file TGeoVolume.h.

◆ GrabFocus()

void TGeoVolume::GrabFocus ( )

Move perspective view focus to this volume.

Definition at line 1932 of file TGeoVolume.cxx.

◆ GrabFWExtension()

TGeoExtension * TGeoVolume::GrabFWExtension ( ) const

Get a copy of the framework extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 1645 of file TGeoVolume.cxx.

◆ GrabUserExtension()

TGeoExtension * TGeoVolume::GrabUserExtension ( ) const

Get a copy of the user extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 1633 of file TGeoVolume.cxx.

◆ Gsord()

void TGeoVolume::Gsord ( Int_t )
inline

Definition at line 193 of file TGeoVolume.h.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TNamed::Hash ( ) const
inlineoverridevirtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
ULong_t Hash() const override
Return hash value for this object.
Definition TNamed.h:51
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
TObject()
TObject constructor.
Definition TObject.h:259
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented from TObject.

Definition at line 51 of file TNamed.h.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ Import()

TGeoVolume * TGeoVolume::Import ( const char * filename,
const char * name = "",
Option_t * option = "" )
static

Import a volume from a file.

Definition at line 993 of file TGeoVolume.cxx.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InspectMaterial()

void TGeoVolume::InspectMaterial ( ) const

Inspect the material for this volume.

Definition at line 985 of file TGeoVolume.cxx.

◆ InspectShape()

void TGeoVolume::InspectShape ( ) const
inline

Definition at line 196 of file TGeoVolume.h.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ InvisibleAll()

void TGeoVolume::InvisibleAll ( Bool_t flag = kTRUE)

Make volume and each of it daughters (in)visible.

Definition at line 915 of file TGeoVolume.cxx.

◆ IsA()

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

Reimplemented from TObject.

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 257 of file TGeoVolume.h.

◆ IsActive()

Bool_t TGeoVolume::IsActive ( ) const
inline

Definition at line 146 of file TGeoVolume.h.

◆ IsActiveDaughters()

Bool_t TGeoVolume::IsActiveDaughters ( ) const
inline

Definition at line 147 of file TGeoVolume.h.

◆ IsAdded()

Bool_t TGeoVolume::IsAdded ( ) const
inline

Definition at line 148 of file TGeoVolume.h.

◆ IsAllInvisible()

Bool_t TGeoVolume::IsAllInvisible ( ) const

Return TRUE if volume and all daughters are invisible.

Definition at line 901 of file TGeoVolume.cxx.

◆ IsAssembly()

Bool_t TGeoVolume::IsAssembly ( ) const
virtual

Returns true if the volume is an assembly or a scaled assembly.

Reimplemented in TGeoVolumeAssembly.

Definition at line 1942 of file TGeoVolume.cxx.

◆ IsCylVoxels()

Bool_t TGeoVolume::IsCylVoxels ( ) const
inline

Definition at line 152 of file TGeoVolume.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

Bool_t TGeoVolume::IsFolder ( ) const
overridevirtual

Return TRUE if volume contains nodes.

Reimplemented from TObject.

Definition at line 943 of file TGeoVolume.cxx.

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsOverlappingCandidate()

Bool_t TGeoVolume::IsOverlappingCandidate ( ) const
inline

Definition at line 149 of file TGeoVolume.h.

◆ IsRaytracing()

Bool_t TGeoVolume::IsRaytracing ( ) const

Check if the painter is currently ray-tracing the content of this volume.

Definition at line 977 of file TGeoVolume.cxx.

◆ IsReplicated()

Bool_t TGeoVolume::IsReplicated ( ) const
inline

Definition at line 150 of file TGeoVolume.h.

◆ IsRunTime()

Bool_t TGeoVolume::IsRunTime ( ) const
inline

Definition at line 110 of file TGeoVolume.h.

◆ IsSelected()

Bool_t TGeoVolume::IsSelected ( ) const
inline

Definition at line 151 of file TGeoVolume.h.

◆ IsSortable()

Bool_t TNamed::IsSortable ( ) const
inlineoverridevirtualinherited

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 52 of file TNamed.h.

◆ IsStyleDefault()

Bool_t TGeoVolume::IsStyleDefault ( ) const

check if the visibility and attributes are the default ones

Definition at line 951 of file TGeoVolume.cxx.

◆ IsTopVolume()

Bool_t TGeoVolume::IsTopVolume ( ) const

True if this is the top volume of the geometry.

Definition at line 967 of file TGeoVolume.cxx.

◆ IsTransparent()

Bool_t TAttFill::IsTransparent ( ) const
inlinevirtualinherited

Reimplemented in TGWin32VirtualXProxy.

Definition at line 49 of file TAttFill.h.

◆ IsValid()

Bool_t TGeoVolume::IsValid ( ) const
inline

Definition at line 155 of file TGeoVolume.h.

◆ IsVisBranch()

Bool_t TGeoAtt::IsVisBranch ( ) const
inlineinherited

Definition at line 85 of file TGeoAtt.h.

◆ IsVisContainers()

Bool_t TGeoVolume::IsVisContainers ( ) const
inline

Definition at line 158 of file TGeoVolume.h.

◆ IsVisDaughters()

Bool_t TGeoAtt::IsVisDaughters ( ) const
inlineinherited

Definition at line 84 of file TGeoAtt.h.

◆ IsVisible()

virtual Bool_t TGeoVolume::IsVisible ( ) const
inlinevirtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 156 of file TGeoVolume.h.

◆ IsVisibleDaughters()

Bool_t TGeoVolume::IsVisibleDaughters ( ) const
inline

Definition at line 157 of file TGeoVolume.h.

◆ IsVisLeaves()

Bool_t TGeoVolume::IsVisLeaves ( ) const
inline

Definition at line 159 of file TGeoVolume.h.

◆ IsVisOnly()

Bool_t TGeoVolume::IsVisOnly ( ) const
inline

Definition at line 160 of file TGeoVolume.h.

◆ IsVisRaytrace()

Bool_t TGeoAtt::IsVisRaytrace ( ) const
inlineinherited

Definition at line 82 of file TGeoAtt.h.

◆ IsVisStreamed()

Bool_t TGeoAtt::IsVisStreamed ( ) const
inlineinherited

Definition at line 90 of file TGeoAtt.h.

◆ IsVisTouched()

Bool_t TGeoAtt::IsVisTouched ( ) const
inlineinherited

Definition at line 91 of file TGeoAtt.h.

◆ IsVolumeMulti()

virtual Bool_t TGeoVolume::IsVolumeMulti ( ) const
inlinevirtual

Reimplemented in TGeoVolumeMulti.

Definition at line 111 of file TGeoVolume.h.

◆ IsXYZVoxels()

Bool_t TGeoVolume::IsXYZVoxels ( ) const
inline

Definition at line 153 of file TGeoVolume.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ LegoPlot()

TH2F * TGeoVolume::LegoPlot ( Int_t ntheta = 20,
Double_t themin = 0.,
Double_t themax = 180.,
Int_t nphi = 60,
Double_t phimin = 0.,
Double_t phimax = 360.,
Double_t rmin = 0.,
Double_t rmax = 9999999,
Option_t * option = "" )

Generate a lego plot fot the top volume, according to option.

Definition at line 1452 of file TGeoVolume.cxx.

◆ ls()

void TNamed::ls ( Option_t * option = "") const
overridevirtualinherited

List TNamed name and title.

Reimplemented from TObject.

Reimplemented in ROOT::Experimental::XRooFit::xRooBrowser, TNode, TROOT, TStreamerBase, TStreamerElement, TStreamerInfo, TStreamerSTL, TTask, TText, and TVirtualStreamerInfo.

Definition at line 112 of file TNamed.cxx.

◆ MakeCopyNodes()

void TGeoVolume::MakeCopyNodes ( const TGeoVolume * other)

make a new list of nodes and copy all nodes of other volume inside

Definition at line 2028 of file TGeoVolume.cxx.

◆ MakeCopyVolume()

TGeoVolume * TGeoVolume::MakeCopyVolume ( TGeoShape * newshape)
virtual

make a copy of this volume build a volume with same name, shape and medium

Reimplemented in TGeoVolumeMulti.

Definition at line 2048 of file TGeoVolume.cxx.

◆ MakeReflectedVolume()

TGeoVolume * TGeoVolume::MakeReflectedVolume ( const char * newname = "") const

Make a copy of this volume which is reflected with respect to XY plane.

Definition at line 2078 of file TGeoVolume.cxx.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

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).

Definition at line 1160 of file TObject.cxx.

◆ Modify() [1/2]

virtual void TAttFill::Modify ( )
virtualinherited

◆ Modify() [2/2]

virtual void TAttLine::Modify ( )
virtualinherited

◆ ModifyOn() [1/2]

virtual void TAttFill::ModifyOn ( TVirtualPad & pad)
virtualinherited

◆ ModifyOn() [2/2]

virtual void TAttLine::ModifyOn ( TVirtualPad & pad)
virtualinherited

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ operator=()

TGeoVolume & TGeoVolume::operator= ( const TGeoVolume & )
privatedelete

◆ OptimizeVoxels()

Bool_t TGeoVolume::OptimizeVoxels ( )

Perform an extensive sampling to find which type of voxelization is most efficient.

Definition at line 1367 of file TGeoVolume.cxx.

◆ Paint()

void TGeoVolume::Paint ( Option_t * option = "")
overridevirtual

paint volume

Reimplemented from TObject.

Definition at line 1387 of file TGeoVolume.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ Print()

void TGeoVolume::Print ( Option_t * option = "") const
overridevirtual

Print volume info.

Reimplemented from TObject.

Definition at line 1377 of file TGeoVolume.cxx.

◆ PrintNodes()

void TGeoVolume::PrintNodes ( ) const

print nodes

Definition at line 1440 of file TGeoVolume.cxx.

◆ PrintVoxels()

void TGeoVolume::PrintVoxels ( ) const

Print the voxels for this volume.

Definition at line 1402 of file TGeoVolume.cxx.

◆ RandomPoints()

void TGeoVolume::RandomPoints ( Int_t npoints = 1000000,
Option_t * option = "" )

Draw random points in the bounding box of this volume.

Definition at line 1512 of file TGeoVolume.cxx.

◆ RandomRays()

void TGeoVolume::RandomRays ( Int_t nrays = 10000,
Double_t startx = 0,
Double_t starty = 0,
Double_t startz = 0,
const char * target_vol = nullptr,
Bool_t check_norm = kFALSE )

Random raytracing method.

Definition at line 1529 of file TGeoVolume.cxx.

◆ Raytrace()

void TGeoVolume::Raytrace ( Bool_t flag = kTRUE)

Draw this volume with current settings and perform raytracing in the pad.

Definition at line 1547 of file TGeoVolume.cxx.

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ RecursiveRemove()

◆ RegisterYourself()

void TGeoVolume::RegisterYourself ( Option_t * option = "")

Register the volume and all materials/media/matrices/shapes to the manager.

Definition at line 1469 of file TGeoVolume.cxx.

◆ Release()

void TGeoVolume::Release ( )
inline

Definition at line 138 of file TGeoVolume.h.

◆ RemoveNode()

void TGeoVolume::RemoveNode ( TGeoNode * node)

Remove an existing daughter.

Definition at line 2371 of file TGeoVolume.cxx.

◆ ReplaceNode()

TGeoNode * TGeoVolume::ReplaceNode ( TGeoNode * nodeorig,
TGeoShape * newshape = nullptr,
TGeoMatrix * newpos = nullptr,
TGeoMedium * newmed = nullptr )

Replace an existing daughter with a new volume having the same name but possibly a new shape, position or medium.

Not allowed for positioned assemblies. For division cells, the new shape/matrix are ignored.

Definition at line 2389 of file TGeoVolume.cxx.

◆ ReplayCreation()

void TGeoVolume::ReplayCreation ( const TGeoVolume * other)

Recreate the content of the other volume without pointer copying.

Voxels are ignored and supposed to be created in a later step via Voxelize.

Definition at line 1412 of file TGeoVolume.cxx.

◆ ResetAttBit()

void TGeoAtt::ResetAttBit ( UInt_t f)
inlineinherited

Definition at line 63 of file TGeoAtt.h.

◆ ResetAttFill()

virtual void TAttFill::ResetAttFill ( Option_t * option = "")
virtualinherited

Reimplemented in TGWin32VirtualXProxy.

◆ ResetAttLine()

virtual void TAttLine::ResetAttLine ( Option_t * option = "")
virtualinherited

Reimplemented in TGWin32VirtualXProxy.

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ ResetTransparency()

void TGeoVolume::ResetTransparency ( Char_t transparency = -1)
inline

Definition at line 385 of file TGeoVolume.h.

◆ SaveAs()

void TGeoVolume::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
overridevirtual

Save geometry having this as top volume as a C++ macro.

Reimplemented from TObject.

Definition at line 1567 of file TGeoVolume.cxx.

◆ SaveFillAttributes()

virtual void TAttFill::SaveFillAttributes ( std::ostream & out,
const char * name,
Int_t coldef = 1,
Int_t stydef = 1001 )
virtualinherited

◆ SaveLineAttributes()

virtual void TAttLine::SaveLineAttributes ( std::ostream & out,
const char * name,
Int_t coldef = 1,
Int_t stydef = 1,
Int_t widdef = 1 )
virtualinherited

◆ SavePrimitive()

void TGeoVolume::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
overridevirtual

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented from TObject.

Definition at line 1655 of file TGeoVolume.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveNameTitle()

void TNamed::SavePrimitiveNameTitle ( std::ostream & out,
const char * variable_name )
protectedinherited

Save object name and title into the output stream "out".

Definition at line 135 of file TNamed.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SelectVolume()

void TGeoVolume::SelectVolume ( Bool_t clear = kFALSE)

Select this volume as matching an arbitrary criteria.

The volume is added to a static list and the flag TGeoVolume::kVolumeSelected is set. All flags need to be reset at the end by calling the method with CLEAR=true. This will also clear the list.

Definition at line 2445 of file TGeoVolume.cxx.

◆ SetActiveDaughters()

void TGeoVolume::SetActiveDaughters ( Bool_t flag = kTRUE)
inline

Definition at line 214 of file TGeoVolume.h.

◆ SetActivity()

void TGeoVolume::SetActivity ( Bool_t flag = kTRUE)
inline

Definition at line 213 of file TGeoVolume.h.

◆ SetAdded()

void TGeoVolume::SetAdded ( )
inline

Definition at line 216 of file TGeoVolume.h.

◆ SetAsTopVolume()

void TGeoVolume::SetAsTopVolume ( )

Set this volume as the TOP one (the whole geometry starts from here).

Definition at line 2171 of file TGeoVolume.cxx.

◆ SetAttBit() [1/2]

void TGeoAtt::SetAttBit ( UInt_t f)
inlineinherited

Definition at line 61 of file TGeoAtt.h.

◆ SetAttBit() [2/2]

void TGeoAtt::SetAttBit ( UInt_t f,
Bool_t set )
inlineinherited

Definition at line 62 of file TGeoAtt.h.

◆ SetAttVisibility()

void TGeoVolume::SetAttVisibility ( Bool_t vis)
inline

Definition at line 234 of file TGeoVolume.h.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetCurrentPoint()

void TGeoVolume::SetCurrentPoint ( Double_t x,
Double_t y,
Double_t z )

Set the current tracking point.

Definition at line 2179 of file TGeoVolume.cxx.

◆ SetCylVoxels()

void TGeoVolume::SetCylVoxels ( Bool_t flag = kTRUE)
inline

Definition at line 219 of file TGeoVolume.h.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetField()

void TGeoVolume::SetField ( TObject * field)
inline

Definition at line 232 of file TGeoVolume.h.

◆ SetFillAttributes()

virtual void TAttFill::SetFillAttributes ( )
virtualinherited

Reimplemented in TGWin32VirtualXProxy.

◆ SetFillColor() [1/2]

virtual void TAttFill::SetFillColor ( Color_t fcolor)
inlinevirtualinherited

Set the fill area color.

Reimplemented in TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPDF, TPostScript, TSpider, TSVG, TTeXDump, and TVirtualX.

Definition at line 40 of file TAttFill.h.

◆ SetFillColor() [2/2]

void TAttFill::SetFillColor ( TColorNumber )
inherited

◆ SetFillColorAlpha()

virtual void TAttFill::SetFillColorAlpha ( Color_t fcolor,
Float_t falpha )
virtualinherited

Reimplemented in TGraphMultiErrors.

◆ SetFillStyle()

virtual void TAttFill::SetFillStyle ( Style_t fstyle)
inlinevirtualinherited

Set the fill area style.

Reimplemented in TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPad, TSpider, and TVirtualX.

Definition at line 42 of file TAttFill.h.

◆ SetFinder()

void TGeoVolume::SetFinder ( TGeoPatternFinder * finder)
inline

Definition at line 245 of file TGeoVolume.h.

◆ SetFWExtension()

void TGeoVolume::SetFWExtension ( TGeoExtension * ext)

Connect framework defined extension to the volume.

The volume "grabs" a copy, so the original object can be released by the producer. Release the previously connected extension if any.

NOTE: This interface is intended for the use by TGeo and the users should NOT connect extensions using this method

Definition at line 1618 of file TGeoVolume.cxx.

◆ SetInvisible()

void TGeoVolume::SetInvisible ( )
inline

Definition at line 242 of file TGeoVolume.h.

◆ SetLineAttributes()

virtual void TAttLine::SetLineAttributes ( )
virtualinherited

Reimplemented in TGWin32VirtualXProxy.

◆ SetLineColor() [1/2]

void TAttLine::SetLineColor ( TColorNumber lcolor)
inherited

◆ SetLineColor() [2/2]

void TGeoVolume::SetLineColor ( Color_t lcolor)
overridevirtual

Set the line color.

Reimplemented from TAttLine.

Reimplemented in TGeoVolumeMulti.

Definition at line 2289 of file TGeoVolume.cxx.

◆ SetLineColorAlpha()

virtual void TAttLine::SetLineColorAlpha ( Color_t lcolor,
Float_t lalpha )
virtualinherited

Reimplemented in TGraphMultiErrors.

◆ SetLineStyle()

void TGeoVolume::SetLineStyle ( Style_t lstyle)
overridevirtual

Set the line style.

Reimplemented from TAttLine.

Reimplemented in TGeoVolumeMulti.

Definition at line 2297 of file TGeoVolume.cxx.

◆ SetLineWidth()

void TGeoVolume::SetLineWidth ( Width_t lwidth)
overridevirtual

Set the line width.

Reimplemented from TAttLine.

Reimplemented in TGeoVolumeMulti.

Definition at line 2305 of file TGeoVolume.cxx.

◆ SetMedium()

virtual void TGeoVolume::SetMedium ( TGeoMedium * medium)
inlinevirtual

Reimplemented in TGeoVolumeMulti.

Definition at line 243 of file TGeoVolume.h.

◆ SetName()

void TNamed::SetName ( const char * name)
virtualinherited

Set the name of the TNamed.

WARNING: if the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, ROOT::Experimental::XRooFit::xRooNode, TChain, TColor, TDirectory, TEfficiency, TEventList, TEveScene, TFormula, TGraph2D, TGraph, TH1, TNode, TRotMatrix, TShape, TSystemDirectory, TSystemFile, and TTree.

Definition at line 149 of file TNamed.cxx.

◆ SetNameTitle()

void TNamed::SetNameTitle ( const char * name,
const char * title )
virtualinherited

Set all the TNamed parameters (name and title).

WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.

Definition at line 163 of file TNamed.cxx.

◆ SetNodes()

void TGeoVolume::SetNodes ( TObjArray * nodes)
inline

Definition at line 224 of file TGeoVolume.h.

◆ SetNtotal()

void TGeoVolume::SetNtotal ( Int_t ntotal)
inline

Definition at line 247 of file TGeoVolume.h.

◆ SetNumber()

void TGeoVolume::SetNumber ( Int_t number)
inline

Definition at line 246 of file TGeoVolume.h.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetOptimization()

void TGeoAtt::SetOptimization ( Option_t * option)
inherited

Set optimization flags.

Definition at line 147 of file TGeoAtt.cxx.

◆ SetOption()

void TGeoVolume::SetOption ( const char * option)

Set the current options (none implemented).

Definition at line 2281 of file TGeoVolume.cxx.

◆ SetOverlappingCandidate()

void TGeoVolume::SetOverlappingCandidate ( Bool_t flag)
inline

Definition at line 229 of file TGeoVolume.h.

◆ SetReplicated()

void TGeoVolume::SetReplicated ( )
inline

Definition at line 217 of file TGeoVolume.h.

◆ SetShape()

void TGeoVolume::SetShape ( const TGeoShape * shape)

set the shape associated with this volume

Definition at line 2187 of file TGeoVolume.cxx.

◆ SetTitle()

void TNamed::SetTitle ( const char * title = "")
virtualinherited

◆ SetTransparency()

void TGeoVolume::SetTransparency ( Char_t transparency = 0)
inline

Definition at line 378 of file TGeoVolume.h.

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ SetUserExtension()

void TGeoVolume::SetUserExtension ( TGeoExtension * ext)

Connect user-defined extension to the volume.

The volume "grabs" a copy, so the original object can be released by the producer. Release the previously connected extension if any.

NOTE: This interface is intended for user extensions and is guaranteed not to be used by TGeo

Definition at line 1600 of file TGeoVolume.cxx.

◆ SetVisBranch()

void TGeoAtt::SetVisBranch ( )
inherited

Set branch type visibility.

Definition at line 65 of file TGeoAtt.cxx.

◆ SetVisContainers()

void TGeoVolume::SetVisContainers ( Bool_t flag = kTRUE)
overridevirtual

Set visibility for containers.

Reimplemented from TGeoAtt.

Definition at line 2485 of file TGeoVolume.cxx.

◆ SetVisDaughters()

void TGeoAtt::SetVisDaughters ( Bool_t vis = kTRUE)
inherited

Set visibility for the daughters.

Definition at line 115 of file TGeoAtt.cxx.

◆ SetVisibility()

void TGeoVolume::SetVisibility ( Bool_t vis = kTRUE)
overridevirtual

set visibility of this volume

Reimplemented from TGeoAtt.

Reimplemented in TGeoVolumeMulti.

Definition at line 2467 of file TGeoVolume.cxx.

◆ SetVisLeaves()

void TGeoVolume::SetVisLeaves ( Bool_t flag = kTRUE)
overridevirtual

Set visibility for leaves.

Reimplemented from TGeoAtt.

Definition at line 2499 of file TGeoVolume.cxx.

◆ SetVisOnly()

void TGeoVolume::SetVisOnly ( Bool_t flag = kTRUE)
overridevirtual

Set visibility for leaves.

Reimplemented from TGeoAtt.

Definition at line 2513 of file TGeoVolume.cxx.

◆ SetVisRaytrace()

void TGeoAtt::SetVisRaytrace ( Bool_t flag = kTRUE)
inlineinherited

Definition at line 66 of file TGeoAtt.h.

◆ SetVisStreamed()

void TGeoAtt::SetVisStreamed ( Bool_t vis = kTRUE)
inherited

Mark attributes as "streamed to file".

Definition at line 127 of file TGeoAtt.cxx.

◆ SetVisTouched()

void TGeoAtt::SetVisTouched ( Bool_t vis = kTRUE)
inherited

Mark visualization attributes as "modified".

Definition at line 137 of file TGeoAtt.cxx.

◆ SetVoxelFinder()

void TGeoVolume::SetVoxelFinder ( TGeoVoxelFinder * finder)
inline

Definition at line 244 of file TGeoVolume.h.

◆ Sizeof()

Int_t TNamed::Sizeof ( ) const
virtualinherited

Return size of the TNamed part of the TObject.

Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.

Definition at line 182 of file TNamed.cxx.

◆ Sizeof3D()

void TAtt3D::Sizeof3D ( ) const
virtualinherited

Set total size of this 3D object (used by X3D interface).

Reimplemented in TBRIK, TGeoOverlap, TNode, TParticle, TPCON, TPrimary, TSPHE, TTUBE, TTUBS, and TXTRU.

Definition at line 26 of file TAtt3D.cxx.

◆ SortNodes()

void TGeoVolume::SortNodes ( )

sort nodes by decreasing volume of the bounding box.

ONLY nodes comes first, then overlapping nodes and finally division nodes.

Definition at line 2200 of file TGeoVolume.cxx.

◆ Streamer()

void TGeoVolume::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class TGeoVolume.

Reimplemented from TObject.

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 2256 of file TGeoVolume.cxx.

◆ StreamerNVirtual()

void TGeoVolume::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 257 of file TGeoVolume.h.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ TestAttBit()

Bool_t TGeoAtt::TestAttBit ( UInt_t f) const
inlineinherited

Definition at line 64 of file TGeoAtt.h.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ UnmarkSaved()

void TGeoVolume::UnmarkSaved ( )

Reset SavePrimitive bits.

Definition at line 1819 of file TGeoVolume.cxx.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Valid()

Bool_t TGeoVolume::Valid ( ) const

Check if the shape of this volume is valid.

Definition at line 2529 of file TGeoVolume.cxx.

◆ VisibleDaughters()

void TGeoVolume::VisibleDaughters ( Bool_t vis = kTRUE)

set visibility for daughters

Definition at line 2573 of file TGeoVolume.cxx.

◆ Voxelize()

void TGeoVolume::Voxelize ( Option_t * option)

build the voxels for this volume

Definition at line 2584 of file TGeoVolume.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ Weight()

Double_t TGeoVolume::Weight ( Double_t precision = 0.01,
Option_t * option = "va" )

Estimate the weight of a volume (in kg) with SIGMA(M)/M better than PRECISION.

Option can contain : v - verbose, a - analytical (default)

Definition at line 2621 of file TGeoVolume.cxx.

◆ WeightA()

Double_t TGeoVolume::WeightA ( ) const

Analytical computation of the weight.

Definition at line 2637 of file TGeoVolume.cxx.

◆ Write() [1/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
virtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 989 of file TObject.cxx.

◆ Write() [2/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
virtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 964 of file TObject.cxx.

Member Data Documentation

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fField

TObject* TGeoVolume::fField
protected

! just a hook for now

Definition at line 53 of file TGeoVolume.h.

◆ fFillColor

Color_t TAttFill::fFillColor
protectedinherited

Fill area color.

Definition at line 24 of file TAttFill.h.

◆ fFillStyle

Style_t TAttFill::fFillStyle
protectedinherited

Fill area style.

Definition at line 25 of file TAttFill.h.

◆ fFinder

TGeoPatternFinder* TGeoVolume::fFinder
protected

Definition at line 49 of file TGeoVolume.h.

◆ fFWExtension

TGeoExtension* TGeoVolume::fFWExtension
protected

! Transient framework-defined extension to volumes

Definition at line 60 of file TGeoVolume.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgDummyMedium

TGeoMedium * TGeoVolume::fgDummyMedium = nullptr
staticprotected

! dummy medium

Definition at line 48 of file TGeoVolume.h.

◆ fGeoAtt

UInt_t TGeoAtt::fGeoAtt
protectedinherited

Definition at line 53 of file TGeoAtt.h.

◆ fGeoManager

TGeoManager* TGeoVolume::fGeoManager
protected

! pointer to TGeoManager owning this volume

Definition at line 51 of file TGeoVolume.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fLineColor

Color_t TAttLine::fLineColor
protectedinherited

Line color.

Definition at line 24 of file TAttLine.h.

◆ fLineStyle

Style_t TAttLine::fLineStyle
protectedinherited

Line style.

Definition at line 25 of file TAttLine.h.

◆ fLineWidth

Width_t TAttLine::fLineWidth
protectedinherited

Line width.

Definition at line 26 of file TAttLine.h.

◆ fMedium

TGeoMedium* TGeoVolume::fMedium
protected

Definition at line 47 of file TGeoVolume.h.

◆ fName

TString TNamed::fName
protectedinherited

Definition at line 32 of file TNamed.h.

◆ fNodes

TObjArray* TGeoVolume::fNodes
protected

Definition at line 45 of file TGeoVolume.h.

◆ fNtotal

Int_t TGeoVolume::fNtotal
protected

Definition at line 56 of file TGeoVolume.h.

◆ fNumber

Int_t TGeoVolume::fNumber
protected

Definition at line 55 of file TGeoVolume.h.

◆ fOption

TString TGeoVolume::fOption
protected

! option - if any

Definition at line 54 of file TGeoVolume.h.

◆ fRefCount

Int_t TGeoVolume::fRefCount
protected

Definition at line 57 of file TGeoVolume.h.

◆ fShape

TGeoShape* TGeoVolume::fShape
protected

Definition at line 46 of file TGeoVolume.h.

◆ fTitle

TString TNamed::fTitle
protectedinherited

Definition at line 33 of file TNamed.h.

◆ fTransparency

Char_t TGeoVolume::fTransparency
protected

Definition at line 58 of file TGeoVolume.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.

◆ fUserExtension

TGeoExtension* TGeoVolume::fUserExtension
protected

! Transient user-defined extension to volumes

Definition at line 59 of file TGeoVolume.h.

◆ fVoxels

TGeoVoxelFinder* TGeoVolume::fVoxels
protected

Definition at line 50 of file TGeoVolume.h.


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