13 #ifndef ROOT_TVirtualMCGeometry 14 #define ROOT_TVirtualMCGeometry 153 virtual void Gsdvn(
const char *name,
const char *mother,
Int_t ndiv,
160 virtual void Gsdvn2(
const char *name,
const char *mother,
Int_t ndiv,
171 virtual void Gsdvt(
const char *name,
const char *mother,
Double_t step,
182 virtual void Gsdvt2(
const char *name,
const char *mother,
Double_t step,
188 virtual void Gsord(
const char *name,
Int_t iax) = 0;
200 virtual void Gspos(
const char *name,
Int_t nr,
const char *mother,
202 const char *konly=
"ONLY") = 0;
206 virtual void Gsposp(
const char *name,
Int_t nr,
const char *mother,
211 virtual void Gsposp(
const char *name,
Int_t nr,
const char *mother,
219 virtual void Gsbool(
const char* onlyVolName,
const char* manyVolName) = 0;
269 virtual Int_t VolId(
const char* volName)
const = 0;
299 #endif //ROOT_TVirtualMCGeometry virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t np)=0
Create a new volume.
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.
virtual void Gsbool(const char *onlyVolName, const char *manyVolName)=0
Helper function for resolving MANY.
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.
Matrix class used for computing global transformations Should NOT be used for node definition...
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.
Interface to Monte Carlo geometry construction.
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.
TVirtualMCGeometry & operator=(const TVirtualMCGeometry &)
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.
virtual ~TVirtualMCGeometry()
Destructor.
#define ClassDef(name, id)
virtual Int_t NofVolDaughters(const char *volName) const =0
Return number of daughters of the volume specified by volName.
The TNamed class is the base class for all named ROOT classes.
virtual Int_t VolId(const char *volName) const =0
Return the unique numeric identifier for volume name volName.
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 i...
virtual Int_t MediumId(const char *mediumName) const =0
Return the unique numeric identifier for medium name mediumName.
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...
virtual Int_t NofVolumes() const =0
Return total number of volumes in the geometry.
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 ...
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.
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.
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.
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.
virtual Int_t VolId2Mate(Int_t id) const =0
Return material number for a given volume id.
Array of doubles (64 bits per element).
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 m...
you should not use this method at all Int_t Int_t z
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 ...
virtual const char * VolName(Int_t id) const =0
Return the volume name for a given volume identifier id.
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...
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.
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...
TVirtualMCGeometry()
Default constructor.