#ifndef G3VOLUME_H
#define G3VOLUME_H
#include <TGListTree.h>
#include "TROOT.h"
#include "TGeant3.h"
#include "TArrayF.h"
#include "TNamed.h"
#include "TList.h"
class TShape;
class TMaterial;
class G3Volume : public TNamed
{
public:
G3Volume() {;}
G3Volume(const char* name);
virtual ~G3Volume(){;}
virtual void Draw(Option_t * option =0);
virtual void DrawSpec();
virtual void SetParam(Int_t i, Float_t param);
virtual Float_t GetParam(Int_t i);
virtual void SetIdVolume(Int_t id) {fIdVolume = id;}
virtual void SetIdCopy(Int_t id) {fIdCopy = id;}
virtual void SetIdMedium(Int_t id) {fIdMedium = id;}
virtual void SetIdMaterial(Int_t id) {fIdMaterial = id;}
virtual Int_t GetIdVolume() const {return fIdVolume;}
virtual Int_t GetIdCopy() const {return fIdCopy;}
virtual Int_t Medium() const {return fIdMedium;}
virtual Int_t Material() const {return fIdMaterial;}
virtual void AddCopy() {fIdCopy ++;}
virtual void SetItem(TObject *item) {fItem = item;}
virtual void SetPosition(Float_t x, Float_t y, Float_t z);
virtual TArrayF Position(Int_t i) const;
virtual void SetRotMatrix(Int_t irot) {fRotMatrix = irot;}
virtual Int_t RotMatrix() const {return fRotMatrix;}
virtual void SetShape(Int_t shape) {fShape = shape;}
virtual Int_t Shape() const {return fShape;}
virtual void SetParameters(Int_t np, Float_t* param);
virtual Int_t NParam() const {return fNParam;}
virtual void Parameters(Int_t i, TArrayF& param) const;
virtual TList* Copies() const {return fCopies;}
virtual void AddCopy(G3Volume* volume);
virtual G3Volume* MakeCopy(Int_t i);
virtual Int_t NCopies() const {return fNCopies;}
virtual Bool_t Posp() const {return fPosp;}
virtual void SetPosp(Bool_t flag) {fPosp = flag;}
virtual void CreateTShape(char* nameV, TMaterial* mat);
virtual void SetDivision(Int_t ndiv, Int_t axis, Float_t start, Float_t step);
virtual void Division(Int_t& ndiv, Int_t& axis, Float_t& start, Float_t& step) const;
virtual Int_t Axis() {return fAxis;}
virtual Int_t Ndiv() {return fNdiv;}
virtual Float_t Step() {return fStep;}
virtual Float_t StartC() {return fStartC;}
virtual TObject* GetItem() {return fItem;}
G3Volume(const G3Volume&);
private:
TArrayF fPosition;
TArrayF fParameters;
TList* fCopies;
Bool_t fPosp;
Int_t fNCopies;
Int_t fRotMatrix;
Int_t fNParam;
Int_t fAxis;
Int_t fNdiv;
Float_t fStep;
Float_t fStartC;
Int_t fShape;
Float_t fTheta;
Float_t fPhi;
Float_t fPsi;
Float_t fU;
Float_t fV;
Float_t fUscale;
Float_t fVscale;
Bool_t fHide;
Bool_t fShadow;
Int_t fFill;
Int_t fSeen;
Bool_t fClip;
Float_t fClipXmin;
Float_t fClipXmax;
Float_t fClipYmin;
Float_t fClipYmax;
Float_t fClipZmin;
Float_t fClipZmax;
Int_t fIdVolume;
Int_t fIdMedium;
Int_t fIdMaterial;
Int_t fIdCopy;
TObject* fItem;
G3Volume & operator=(const G3Volume&) {return *this;}
ClassDef(G3Volume,1)
};
enum G3DrawParamId {
kTheta,
kPhi,
kPsi,
kU,
kV,
kUscale,
kVscale,
kShadow,
kHide,
kFill,
kSeen,
kClip,
kClipXmin,
kClipXmax,
kClipYmin,
kClipYmax,
kClipZmin,
kClipZmax
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.