Logo ROOT  
Reference Guide
TGeoMCGeometry Class Reference

Implementation of the TVirtualMCGeometry interface for building TGeo geometry.

Definition at line 31 of file TGeoMCGeometry.h.

Public Member Functions

 TGeoMCGeometry ()
 Default constructor. More...
 
 TGeoMCGeometry (const char *name, const char *title, Bool_t g3CompatibleVolumeNames=false)
 Standard constructor. More...
 
virtual ~TGeoMCGeometry ()
 Destructor. More...
 
virtual Bool_t GetMaterial (const TString &volumeName, TString &name, Int_t &imat, Double_t &a, Double_t &z, Double_t &density, Double_t &radl, Double_t &inter, TArrayD &par)
 Returns the Material and its parameters for the volume specified by volumeName. More...
 
virtual Bool_t GetMedium (const TString &volumeName, TString &name, Int_t &imed, Int_t &nmat, Int_t &isvol, Int_t &ifield, Double_t &fieldm, Double_t &tmaxfd, Double_t &stemax, Double_t &deemax, Double_t &epsil, Double_t &stmin, TArrayD &par)
 Returns the Medium and its parameters for the volume specified by volumeName. More...
 
virtual Bool_t GetShape (const TString &volumePath, TString &shapeType, TArrayD &par)
 Returns the shape and its parameters for the volume specified by volumeName. More...
 
virtual Bool_t GetTransformation (const TString &volumePath, TGeoHMatrix &matrix)
 Return the transformation matrix between the volume specified by the path volumePath and the Top or mater volume. More...
 
virtual void Gsbool (const char *, const char *)
 Helper function for resolving MANY. More...
 
virtual void Gsdvn (const char *name, const char *mother, Int_t ndiv, Int_t iaxis)
 Create a new volume by dividing an existing one. More...
 
virtual void Gsdvn2 (const char *name, const char *mother, Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed)
 Create a new volume by dividing an existing one. More...
 
virtual void Gsdvt (const char *name, const char *mother, Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx)
 Create a new volume by dividing an existing one. More...
 
virtual void Gsdvt2 (const char *name, const char *mother, Double_t step, Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx)
 Create a new volume by dividing an existing one. More...
 
virtual void Gsord (const char *name, Int_t iax)
 Flag volume name whose contents will have to be ordered along axis iax, by setting the search flag to -iax (Geant3 only) More...
 
virtual void Gspos (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly)
 Position a volume into an existing one. More...
 
virtual void Gsposp (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Double_t *upar, Int_t np)
 Place a copy of generic volume name with user number nr inside mother, with its parameters upar(1..np) More...
 
virtual void Gsposp (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Float_t *upar, Int_t np)
 Place a copy of generic volume name with user number nr inside mother, with its parameters upar(1..np) More...
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Double_t *upar, Int_t np)
 Create a new volume. More...
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t np)
 Create a new volume. More...
 
virtual void Material (Int_t &kmat, const char *name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Double_t *buf, Int_t nwbuf)
 Define a material. More...
 
virtual void Material (Int_t &kmat, const char *name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Float_t *buf, Int_t nwbuf)
 Define a material. More...
 
virtual void Matrix (Int_t &krot, Double_t thetaX, Double_t phiX, Double_t thetaY, Double_t phiY, Double_t thetaZ, Double_t phiZ)
 Define a rotation matrix. More...
 
virtual void Medium (Int_t &kmed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Double_t *ubuf, Int_t nbuf)
 Define a medium. More...
 
virtual void Medium (Int_t &kmed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Float_t *ubuf, Int_t nbuf)
 Define a medium. More...
 
virtual Int_t MediumId (const char *mediumName) const
 Return the unique numeric identifier for medium name. More...
 
virtual void Mixture (Int_t &kmat, const char *name, Double_t *a, Double_t *z, Double_t dens, Int_t nlmat, Double_t *wmat)
 Define a mixture or a compound with a number kmat composed by the basic nlmat materials defined by arrays a, z and wmat. More...
 
virtual void Mixture (Int_t &kmat, const char *name, Float_t *a, Float_t *z, Double_t dens, Int_t nlmat, Float_t *wmat)
 Define a mixture or a compound with a number kmat composed by the basic nlmat materials defined by arrays a, z and wmat. More...
 
virtual Int_t NofVolDaughters (const char *volName) const
 Return number of daughters of the volume specified by volName According to A. More...
 
virtual Int_t NofVolumes () const
 Return total number of volumes in the geometry. More...
 
virtual Int_t VolDaughterCopyNo (const char *volName, Int_t i) const
 Return the copyNo of i-th daughters of the volume specified by volName According to A. More...
 
virtual const char * VolDaughterName (const char *volName, Int_t i) const
 Return the name of i-th daughters of the volume specified by volName According to A. More...
 
virtual Int_t VolId (const char *volName) const
 Return the unique numeric identifier for volume name. More...
 
virtual Int_t VolId2Mate (Int_t id) const
 Return material number for a given volume id. More...
 
virtual const char * VolName (Int_t id) const
 Return the volume name given the volume identifier. More...
 
- Public Member Functions inherited from TVirtualMCGeometry
 TVirtualMCGeometry ()
 Default constructor. More...
 
 TVirtualMCGeometry (const char *name, const char *title)
 Standard constructor. More...
 
virtual ~TVirtualMCGeometry ()
 Destructor. More...
 
virtual Bool_t GetMaterial (const TString &volumeName, TString &name, Int_t &imat, Double_t &a, Double_t &z, Double_t &density, Double_t &radl, Double_t &inter, TArrayD &par)=0
 Return the material parameters for the volume specified by the volumeName. More...
 
virtual Bool_t GetMedium (const TString &volumeName, TString &name, Int_t &imed, Int_t &nmat, Int_t &isvol, Int_t &ifield, Double_t &fieldm, Double_t &tmaxfd, Double_t &stemax, Double_t &deemax, Double_t &epsil, Double_t &stmin, TArrayD &par)=0
 Return the medium parameters for the volume specified by the volumeName. More...
 
virtual Bool_t GetShape (const TString &volumePath, TString &shapeType, TArrayD &par)=0
 Return the name of the shape (shapeType) and its parameters par for the volume specified by the path volumePath . More...
 
virtual Bool_t GetTransformation (const TString &volumePath, TGeoHMatrix &matrix)=0
 Return the transformation matrix between the volume specified by the path volumePath and the top or master volume. More...
 
virtual void Gsbool (const char *onlyVolName, const char *manyVolName)=0
 Helper function for resolving MANY. More...
 
virtual void Gsdvn (const char *name, const char *mother, Int_t ndiv, Int_t iaxis)=0
 Create a new volume by dividing an existing one. More...
 
virtual void Gsdvn2 (const char *name, const char *mother, Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed)=0
 Create a new volume by dividing an existing one. More...
 
virtual void Gsdvt (const char *name, const char *mother, Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx)=0
 Create a new volume by dividing an existing one Divide mother into divisions called name along axis iaxis in steps of step. More...
 
virtual void Gsdvt2 (const char *name, const char *mother, Double_t step, Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx)=0
 Create a new volume by dividing an existing one Divides mother into divisions called name along axis iaxis starting at coordinate value c0 with step size step. More...
 
virtual void Gsord (const char *name, Int_t iax)=0
 Flag volume name whose contents will have to be ordered along axis iax, by setting the search flag to -iax (Geant3 only) More...
 
virtual void Gspos (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly="ONLY")=0
 Position a volume into an existing one. More...
 
virtual void Gsposp (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Double_t *upar, Int_t np)=0
 The same as previous but in double precision. More...
 
virtual void Gsposp (const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char *konly, Float_t *upar, Int_t np)=0
 Place a copy of generic volume name with user number nr inside mother, with its parameters upar(1..np) More...
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Double_t *upar, Int_t np)=0
 The same as previous but in double precision. More...
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t np)=0
 Create a new volume. More...
 
virtual void Material (Int_t &kmat, const char *name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Double_t *buf, Int_t nwbuf)=0
 The same as previous but in double precision. More...
 
virtual void Material (Int_t &kmat, const char *name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Float_t *buf, Int_t nwbuf)=0
 Define a material. More...
 
virtual void Matrix (Int_t &krot, Double_t thetaX, Double_t phiX, Double_t thetaY, Double_t phiY, Double_t thetaZ, Double_t phiZ)=0
 Define a rotation matrix. More...
 
virtual void Medium (Int_t &kmed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Double_t *ubuf, Int_t nbuf)=0
 The same as previous but in double precision. More...
 
virtual void Medium (Int_t &kmed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Float_t *ubuf, Int_t nbuf)=0
 Define a medium. More...
 
virtual Int_t MediumId (const char *mediumName) const =0
 Return the unique numeric identifier for medium name mediumName. More...
 
virtual void Mixture (Int_t &kmat, const char *name, Double_t *a, Double_t *z, Double_t dens, Int_t nlmat, Double_t *wmat)=0
 The same as previous but in double precision. More...
 
virtual void Mixture (Int_t &kmat, const char *name, Float_t *a, Float_t *z, Double_t dens, Int_t nlmat, Float_t *wmat)=0
 Define mixture or compound with a number kmat composed by the basic nlmat materials defined by arrays a, z and wmat. More...
 
virtual Int_t NofVolDaughters (const char *volName) const =0
 Return number of daughters of the volume specified by volName. More...
 
virtual Int_t NofVolumes () const =0
 Return total number of volumes in the geometry. More...
 
virtual Int_t VolDaughterCopyNo (const char *volName, Int_t i) const =0
 Return the copyNo of i-th daughter of the volume specified by volName. More...
 
virtual const char * VolDaughterName (const char *volName, Int_t i) const =0
 Return the name of i-th daughter of the volume specified by volName. More...
 
virtual Int_t VolId (const char *volName) const =0
 Return the unique numeric identifier for volume name volName. More...
 
virtual Int_t VolId2Mate (Int_t id) const =0
 Return material number for a given volume id. More...
 
virtual const char * VolName (Int_t id) const =0
 Return the volume name for a given volume identifier id. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
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. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
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. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
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). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Private Member Functions

 TGeoMCGeometry (const TGeoMCGeometry &)
 
Double_tCreateDoubleArray (Float_t *array, Int_t size) const
 Convert Float_t* array to Double_t*, !! The new array has to be deleted by user. More...
 
TGeoManagerGetTGeoManager () const
 Return TGeoManager global pointer. More...
 
TGeoMCGeometryoperator= (const TGeoMCGeometry &)
 
void Vname (const char *name, char *vname) const
 Convert name to upper case. More...
 

Private Attributes

Bool_t fG3CompatibleVolumeNames
 Option to convert volumes names to be compatible with G3. More...
 

Static Private Attributes

static TGeoMCGeometryfgInstance =0
 Singleton instance. More...
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TVirtualMCGeometry
 TVirtualMCGeometry (const TVirtualMCGeometry &)
 
TVirtualMCGeometryoperator= (const TVirtualMCGeometry &)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TGeoMCGeometry.h>

Inheritance diagram for TGeoMCGeometry:
[legend]

Constructor & Destructor Documentation

◆ TGeoMCGeometry() [1/3]

TGeoMCGeometry::TGeoMCGeometry ( const char *  name,
const char *  title,
Bool_t  g3CompatibleVolumeNames = false 
)

Standard constructor.

Definition at line 49 of file TGeoMCGeometry.cxx.

◆ TGeoMCGeometry() [2/3]

TGeoMCGeometry::TGeoMCGeometry ( )

Default constructor.

Definition at line 61 of file TGeoMCGeometry.cxx.

◆ ~TGeoMCGeometry()

TGeoMCGeometry::~TGeoMCGeometry ( )
virtual

Destructor.

Definition at line 72 of file TGeoMCGeometry.cxx.

◆ TGeoMCGeometry() [3/3]

TGeoMCGeometry::TGeoMCGeometry ( const TGeoMCGeometry )
private

Member Function Documentation

◆ CreateDoubleArray()

Double_t * TGeoMCGeometry::CreateDoubleArray ( Float_t array,
Int_t  size 
) const
private

Convert Float_t* array to Double_t*, !! The new array has to be deleted by user.

Definition at line 97 of file TGeoMCGeometry.cxx.

◆ GetMaterial()

Bool_t TGeoMCGeometry::GetMaterial ( const TString volumeName,
TString name,
Int_t imat,
Double_t a,
Double_t z,
Double_t dens,
Double_t radl,
Double_t inter,
TArrayD par 
)
virtual

Returns the Material and its parameters for the volume specified by volumeName.

Note, Geant3 stores and uses mixtures as an element with an effective Z and A. Consequently, if the parameter Z is not integer, then this material represents some sort of mixture.

  • Inputs:
    • TString& volumeName The volume name
  • Outputs:
    • TSrting &name Material name
    • Int_t &imat Material index number
    • Double_t &a Average Atomic mass of material
    • Double_t &z Average Atomic number of material
    • Double_t &dens Density of material [g/cm^3]
    • Double_t &radl Average radiation length of material [cm]
    • Double_t &inter Average interaction length of material [cm]
    • TArrayD &par A TArrayD of user defined parameters.
  • Return:
    • kTRUE if no errors

Implements TVirtualMCGeometry.

Definition at line 994 of file TGeoMCGeometry.cxx.

◆ GetMedium()

Bool_t TGeoMCGeometry::GetMedium ( const TString volumeName,
TString name,
Int_t imed,
Int_t nmat,
Int_t isvol,
Int_t ifield,
Double_t fieldm,
Double_t tmaxfd,
Double_t stemax,
Double_t deemax,
Double_t epsil,
Double_t stmin,
TArrayD par 
)
virtual

Returns the Medium and its parameters for the volume specified by volumeName.

  • Inputs:
    • TString& volumeName The volume name.
  • Outputs:
    • TString &name Medium name
    • Int_t &nmat Material number defined for this medium
    • Int_t &imed The medium index number
    • Int_t &isvol volume number defined for this medium
    • Int_t &iflield Magnetic field flag
    • Double_t &fieldm Magnetic field strength
    • Double_t &tmaxfd Maximum angle of deflection per step
    • Double_t &stemax Maximum step size
    • Double_t &deemax Maximum fraction of energy allowed to be lost
    • to continuous process.
    • Double_t &epsil Boundary crossing precision
    • Double_t &stmin Minimum step size allowed
    • TArrayD &par A TArrayD of user parameters with all of the parameters of the specified medium.
  • Return:
    • kTRUE if there where no errors

Implements TVirtualMCGeometry.

Definition at line 1040 of file TGeoMCGeometry.cxx.

◆ GetShape()

Bool_t TGeoMCGeometry::GetShape ( const TString volumePath,
TString shapeType,
TArrayD par 
)
virtual

Returns the shape and its parameters for the volume specified by volumeName.

  • Inputs:
    • TString& volumeName The volume name
  • Outputs:
    • TString &shapeType Shape type
    • TArrayD &par A TArrayD of parameters with all of the parameters of the specified shape.
  • Return:
    • A logical indicating whether there was an error in getting this information

Implements TVirtualMCGeometry.

Definition at line 727 of file TGeoMCGeometry.cxx.

◆ GetTGeoManager()

TGeoManager * TGeoMCGeometry::GetTGeoManager ( ) const
private

Return TGeoManager global pointer.

Create a new TGeoManager object if it does not yet exist.

Definition at line 86 of file TGeoMCGeometry.cxx.

◆ GetTransformation()

Bool_t TGeoMCGeometry::GetTransformation ( const TString volumePath,
TGeoHMatrix mat 
)
virtual

Return the transformation matrix between the volume specified by the path volumePath and the Top or mater volume.

The format of the path volumePath is as follows (assuming ALIC is the Top volume) "/ALIC_1/DDIP_1/S05I_2/S05H_1/S05G_3". Here ALIC is the top most or master volume which has only 1 instance of. Of all of the daughter volumes of ALICE, DDIP volume copy #1 is indicated. Similarly for the daughter volume of DDIP is S05I copy #2 and so on.

  • Inputs:
    • TString& volumePath The volume path to the specific volume for which you want the matrix. Volume name hierarchy is separated by "/" while the copy number is appended using a "_".
  • Outputs:
    • TGeoHMatrix &mat A matrix with its values set to those appropriate to the Local to Master transformation
  • Return:
    • A logical value if kFALSE then an error occurred and no change to mat was made.

Implements TVirtualMCGeometry.

Definition at line 702 of file TGeoMCGeometry.cxx.

◆ Gsbool()

virtual void TGeoMCGeometry::Gsbool ( const char *  onlyVolName,
const char *  manyVolName 
)
inlinevirtual

Helper function for resolving MANY.

Specify the ONLY volume that overlaps with the specified MANY and has to be substracted. (Geant4 only)

Implements TVirtualMCGeometry.

Definition at line 85 of file TGeoMCGeometry.h.

◆ Gsdvn()

void TGeoMCGeometry::Gsdvn ( const char *  name,
const char *  mother,
Int_t  ndiv,
Int_t  iaxis 
)
virtual

Create a new volume by dividing an existing one.

It divides a previously defined volume

  • name Volume name
  • mother Mother volume name
  • ndiv Number of divisions
  • iaxis Axis value: X,Y,Z of CAXIS will be translated to 1,2,3 for IAXIS.

Implements TVirtualMCGeometry.

Definition at line 391 of file TGeoMCGeometry.cxx.

◆ Gsdvn2()

void TGeoMCGeometry::Gsdvn2 ( const char *  name,
const char *  mother,
Int_t  ndiv,
Int_t  iaxis,
Double_t  c0i,
Int_t  numed 
)
virtual

Create a new volume by dividing an existing one.

Divide mother into ndiv divisions called name along axis iaxis starting at coordinate value c0. the new volume created will be medium number numed.

Implements TVirtualMCGeometry.

Definition at line 410 of file TGeoMCGeometry.cxx.

◆ Gsdvt()

void TGeoMCGeometry::Gsdvt ( const char *  name,
const char *  mother,
Double_t  step,
Int_t  iaxis,
Int_t  numed,
Int_t  ndvmx 
)
virtual

Create a new volume by dividing an existing one.

Divide mother into divisions called name along axis iaxis in steps of step. If not exactly divisible will make as many as possible and will center them with respect to the mother. Divisions will have medium number numed. If numed is 0, numed of mother is taken. ndvmx is the expected maximum number of divisions (If 0, no protection tests are performed in Geant3)

Implements TVirtualMCGeometry.

Definition at line 432 of file TGeoMCGeometry.cxx.

◆ Gsdvt2()

void TGeoMCGeometry::Gsdvt2 ( const char *  name,
const char *  mother,
Double_t  step,
Int_t  iaxis,
Double_t  c0,
Int_t  numed,
Int_t  ndvmx 
)
virtual

Create a new volume by dividing an existing one.

Divides mother into divisions called name along axis iaxis starting at coordinate value c0 with step size step. The new volume created will have medium number numed. If numed is 0, numed of mother is taken. ndvmx is the expected maximum number of divisions (If 0, no protection tests are performed in Geant3)

Implements TVirtualMCGeometry.

Definition at line 455 of file TGeoMCGeometry.cxx.

◆ Gsord()

void TGeoMCGeometry::Gsord ( const char *  name,
Int_t  iax 
)
virtual

Flag volume name whose contents will have to be ordered along axis iax, by setting the search flag to -iax (Geant3 only)

  • IAX = 1 X axis
  • IAX = 2 Y axis
  • IAX = 3 Z axis
  • IAX = 4 Rxy (static ordering only -> GTMEDI)
  • IAX = 14 Rxy (also dynamic ordering -> GTNEXT)
  • IAX = 5 Rxyz (static ordering only -> GTMEDI)
  • IAX = 15 Rxyz (also dynamic ordering -> GTNEXT)
  • IAX = 6 PHI (PHI=0 => X axis)
  • IAX = 7 THETA (THETA=0 => Z axis) Nothing to be done for TGeo //xx

Implements TVirtualMCGeometry.

Definition at line 482 of file TGeoMCGeometry.cxx.

◆ Gspos()

void TGeoMCGeometry::Gspos ( const char *  name,
Int_t  nr,
const char *  mother,
Double_t  x,
Double_t  y,
Double_t  z,
Int_t  irot,
const char *  konly 
)
virtual

Position a volume into an existing one.

It positions a previously defined volume in the mother.

  • name Volume name
  • nr Copy number of the volume
  • mother Mother volume name
  • x X coord. of the volume in mother ref. sys.
  • y Y coord. of the volume in mother ref. sys.
  • z Z coord. of the volume in mother ref. sys.
  • irot Rotation matrix number w.r.t. mother ref. sys.
  • konly ONLY/MANY flag

Implements TVirtualMCGeometry.

Definition at line 502 of file TGeoMCGeometry.cxx.

◆ Gsposp() [1/2]

void TGeoMCGeometry::Gsposp ( const char *  name,
Int_t  nr,
const char *  mother,
Double_t  x,
Double_t  y,
Double_t  z,
Int_t  irot,
const char *  konly,
Double_t upar,
Int_t  np 
)
virtual

Place a copy of generic volume name with user number nr inside mother, with its parameters upar(1..np)

Implements TVirtualMCGeometry.

Definition at line 537 of file TGeoMCGeometry.cxx.

◆ Gsposp() [2/2]

void TGeoMCGeometry::Gsposp ( const char *  name,
Int_t  nr,
const char *  mother,
Double_t  x,
Double_t  y,
Double_t  z,
Int_t  irot,
const char *  konly,
Float_t upar,
Int_t  np 
)
virtual

Place a copy of generic volume name with user number nr inside mother, with its parameters upar(1..np)

Implements TVirtualMCGeometry.

Definition at line 523 of file TGeoMCGeometry.cxx.

◆ Gsvolu() [1/2]

Int_t TGeoMCGeometry::Gsvolu ( const char *  name,
const char *  shape,
Int_t  nmed,
Double_t upar,
Int_t  npar 
)
virtual

Create a new volume.

  • name Volume name
  • shape Volume type
  • nmed Tracking medium number
  • np Number of shape parameters
  • upar Vector containing shape parameters

Implements TVirtualMCGeometry.

Definition at line 364 of file TGeoMCGeometry.cxx.

◆ Gsvolu() [2/2]

Int_t TGeoMCGeometry::Gsvolu ( const char *  name,
const char *  shape,
Int_t  nmed,
Float_t upar,
Int_t  npar 
)
virtual

Create a new volume.

  • name Volume name
  • shape Volume type
  • nmed Tracking medium number
  • np Number of shape parameters
  • upar Vector containing shape parameters

Implements TVirtualMCGeometry.

Definition at line 345 of file TGeoMCGeometry.cxx.

◆ Material() [1/2]

void TGeoMCGeometry::Material ( Int_t kmat,
const char *  name,
Double_t  a,
Double_t  z,
Double_t  dens,
Double_t  radl,
Double_t  absl,
Double_t buf,
Int_t  nwbuf 
)
virtual

Define a material.

  • kmat number assigned to the material
  • name material name
  • a atomic mass in au
  • z atomic number
  • dens density in g/cm3
  • absl absorption length in cm; if >=0 it is ignored and the program calculates it, if <0. -absl is taken
  • radl radiation length in cm if >=0 it is ignored and the program calculates it, if <0. -radl is taken
  • buf pointer to an array of user words
  • nwbuf number of user words

Implements TVirtualMCGeometry.

Definition at line 181 of file TGeoMCGeometry.cxx.

◆ Material() [2/2]

void TGeoMCGeometry::Material ( Int_t kmat,
const char *  name,
Double_t  a,
Double_t  z,
Double_t  dens,
Double_t  radl,
Double_t  absl,
Float_t buf,
Int_t  nwbuf 
)
virtual

Define a material.

  • kmat number assigned to the material
  • name material name
  • a atomic mass in au
  • z atomic number
  • dens density in g/cm3
  • absl absorption length in cm; if >=0 it is ignored and the program calculates it, if <0. -absl is taken
  • radl radiation length in cm if >=0 it is ignored and the program calculates it, if <0. -radl is taken
  • buf pointer to an array of user words
  • nwbuf number of user words

Implements TVirtualMCGeometry.

Definition at line 154 of file TGeoMCGeometry.cxx.

◆ Matrix()

void TGeoMCGeometry::Matrix ( Int_t krot,
Double_t  thex,
Double_t  phix,
Double_t  they,
Double_t  phiy,
Double_t  thez,
Double_t  phiz 
)
virtual

Define a rotation matrix.

  • krot rotation matrix number assigned
  • thetaX polar angle for axis X
  • phiX azimuthal angle for axis X
  • thetaY polar angle for axis Y
  • phiY azimuthal angle for axis Y
  • thetaZ polar angle for axis Z
  • phiZ azimuthal angle for axis Z

Implements TVirtualMCGeometry.

Definition at line 328 of file TGeoMCGeometry.cxx.

◆ Medium() [1/2]

void TGeoMCGeometry::Medium ( Int_t kmed,
const char *  name,
Int_t  nmat,
Int_t  isvol,
Int_t  ifield,
Double_t  fieldm,
Double_t  tmaxfd,
Double_t  stemax,
Double_t  deemax,
Double_t  epsil,
Double_t  stmin,
Double_t ubuf,
Int_t  nbuf 
)
virtual

Define a medium.

  • kmed tracking medium number assigned
  • name tracking medium name
  • nmat material number
  • isvol sensitive volume flag
  • ifield magnetic field:
    • ifield = 0 if no magnetic field;
    • ifield = -1 if user decision in guswim;
    • ifield = 1 if tracking performed with g3rkuta;
    • ifield = 2 if tracking performed with g3helix;
    • ifield = 3 if tracking performed with g3helx3.
  • fieldm max. field value (kilogauss)
  • tmaxfd max. angle due to field (deg/step)
  • stemax max. step allowed
  • deemax max. fraction of energy lost in a step
  • epsil tracking precision (cm)
  • stmin min. step due to continuous processes (cm)
  • ubuf pointer to an array of user words
  • nbuf number of user words

Implements TVirtualMCGeometry.

Definition at line 308 of file TGeoMCGeometry.cxx.

◆ Medium() [2/2]

void TGeoMCGeometry::Medium ( Int_t kmed,
const char *  name,
Int_t  nmat,
Int_t  isvol,
Int_t  ifield,
Double_t  fieldm,
Double_t  tmaxfd,
Double_t  stemax,
Double_t  deemax,
Double_t  epsil,
Double_t  stmin,
Float_t ubuf,
Int_t  nbuf 
)
virtual

Define a medium.

  • kmed tracking medium number assigned
  • name tracking medium name
  • nmat material number
  • isvol sensitive volume flag
  • ifield magnetic field:
    • ifield = 0 if no magnetic field;
    • ifield = -1 if user decision in guswim;
    • ifield = 1 if tracking performed with g3rkuta;
    • ifield = 2 if tracking performed with g3helix;
    • ifield = 3 if tracking performed with g3helx3.
  • fieldm max. field value (kilogauss)
  • tmaxfd max. angle due to field (deg/step)
  • stemax max. step allowed
  • deemax max. fraction of energy lost in a step
  • epsil tracking precision (cm)
  • stmin min. step due to continuous processes (cm)
  • ubuf pointer to an array of user words
  • nbuf number of user words

Implements TVirtualMCGeometry.

Definition at line 273 of file TGeoMCGeometry.cxx.

◆ MediumId()

Int_t TGeoMCGeometry::MediumId ( const char *  mediumName) const
virtual

Return the unique numeric identifier for medium name.

Implements TVirtualMCGeometry.

Definition at line 571 of file TGeoMCGeometry.cxx.

◆ Mixture() [1/2]

void TGeoMCGeometry::Mixture ( Int_t kmat,
const char *  name,
Double_t a,
Double_t z,
Double_t  dens,
Int_t  nlmat,
Double_t wmat 
)
virtual

Define a mixture or a compound with a number kmat composed by the basic nlmat materials defined by arrays a, z and wmat.

If nlmat > 0 then wmat contains the proportion by weights of each basic material in the mixture.

If nlmat < 0 then wmat contains the number of atoms of a given kind into the molecule of the compound. In this case, wmat in output is changed to relative weights.

Implements TVirtualMCGeometry.

Definition at line 233 of file TGeoMCGeometry.cxx.

◆ Mixture() [2/2]

void TGeoMCGeometry::Mixture ( Int_t kmat,
const char *  name,
Float_t a,
Float_t z,
Double_t  dens,
Int_t  nlmat,
Float_t wmat 
)
virtual

Define a mixture or a compound with a number kmat composed by the basic nlmat materials defined by arrays a, z and wmat.

If nlmat > 0 then wmat contains the proportion by weights of each basic material in the mixture.

If nlmat < 0 then wmat contains the number of atoms of a given kind into the molecule of the compound. In this case, wmat in output is changed to relative weights.

Implements TVirtualMCGeometry.

Definition at line 202 of file TGeoMCGeometry.cxx.

◆ NofVolDaughters()

Int_t TGeoMCGeometry::NofVolDaughters ( const char *  volName) const
virtual

Return number of daughters of the volume specified by volName According to A.

Morsch' G3toRoot class (by A. Morsch)

Implements TVirtualMCGeometry.

Definition at line 607 of file TGeoMCGeometry.cxx.

◆ NofVolumes()

Int_t TGeoMCGeometry::NofVolumes ( ) const
virtual

Return total number of volumes in the geometry.

Implements TVirtualMCGeometry.

Definition at line 598 of file TGeoMCGeometry.cxx.

◆ operator=()

TGeoMCGeometry & TGeoMCGeometry::operator= ( const TGeoMCGeometry )
private

◆ Vname()

void TGeoMCGeometry::Vname ( const char *  name,
char *  vname 
) const
private

Convert name to upper case.

Make vname at least 4 chars

Definition at line 115 of file TGeoMCGeometry.cxx.

◆ VolDaughterCopyNo()

Int_t TGeoMCGeometry::VolDaughterCopyNo ( const char *  volName,
Int_t  i 
) const
virtual

Return the copyNo of i-th daughters of the volume specified by volName According to A.

Morsch' G3toRoot class.

Implements TVirtualMCGeometry.

Definition at line 646 of file TGeoMCGeometry.cxx.

◆ VolDaughterName()

const char * TGeoMCGeometry::VolDaughterName ( const char *  volName,
Int_t  i 
) const
virtual

Return the name of i-th daughters of the volume specified by volName According to A.

Morsch' G3toRoot class.

Implements TVirtualMCGeometry.

Definition at line 623 of file TGeoMCGeometry.cxx.

◆ VolId()

Int_t TGeoMCGeometry::VolId ( const char *  volName) const
virtual

Return the unique numeric identifier for volume name.

Implements TVirtualMCGeometry.

Definition at line 557 of file TGeoMCGeometry.cxx.

◆ VolId2Mate()

Int_t TGeoMCGeometry::VolId2Mate ( Int_t  id) const
virtual

Return material number for a given volume id.

Implements TVirtualMCGeometry.

Definition at line 669 of file TGeoMCGeometry.cxx.

◆ VolName()

const char * TGeoMCGeometry::VolName ( Int_t  id) const
virtual

Return the volume name given the volume identifier.

Implements TVirtualMCGeometry.

Definition at line 584 of file TGeoMCGeometry.cxx.

Member Data Documentation

◆ fG3CompatibleVolumeNames

Bool_t TGeoMCGeometry::fG3CompatibleVolumeNames
private

Option to convert volumes names to be compatible with G3.

Definition at line 145 of file TGeoMCGeometry.h.

◆ fgInstance

TGeoMCGeometry * TGeoMCGeometry::fgInstance =0
staticprivate

Singleton instance.

Definition at line 147 of file TGeoMCGeometry.h.

Libraries for TGeoMCGeometry:
[legend]

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