]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant3/AliG3toRoot.h
Changed for new Aliroot version.
[u/mrichter/AliRoot.git] / AliGeant3 / AliG3toRoot.h
CommitLineData
a524cc6b 1#ifndef ALIG3toRoot_H
2#define ALIG3toRoot_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8#include <TObject.h>
9#include <TGeant3.h>
10
11class TClonesArray;
12class TObjArray;
13class TGPicture;
14class TFolder;
15class TGeometry;
16
17class AliG3Volume;
18class AliNode;
19
20
21class AliG3toRoot : public TObject
22{
23 public:
24 AliG3toRoot();
25 virtual ~AliG3toRoot(){}
26 virtual void G3toRoot();
27 void ConvertToRootShapes(TFolder *item=0, AliNode** node=0,
28 Int_t nNodes=1);
29 // Setters
30 virtual void SetExpandDivisions(Int_t flag = 1)
31 {fExpand = flag;}
32 // Getters
33 TFolder* GetTopFolder() {return fTopFolder;}
34 TClonesArray* GetMaterials() {return fMaterials;}
35 TClonesArray* GetMedia() {return fMedia;}
36 private:
37 void ExpandDivisions(AliNode* node=0);
38 void ReadGeometryTree();
39 void ReadMaterials();
40 void ReadRotations();
41 TFolder* AddVolume(TObject * obj, TFolder *parent, const char* name);
42 virtual AliG3Volume* Volume(Int_t id);
43 Int_t Medium(Int_t idvol);
44 Int_t Material(Int_t idvol);
45 Float_t Cut(Int_t imed, Int_t icut);
46 // Return number of children for volume idvol
47 Int_t NChildren(Int_t idvol);
48 // Return child number idc of volume idvol
49 Int_t Child(Int_t idvol, Int_t idc);
50 AliG3toRoot &operator=(const AliG3toRoot &) {return *this;}
51 private:
52 TClonesArray *fVolumes; //! array of volumes
53 TClonesArray *fMaterials; //! array of materials
54 TClonesArray *fMedia; //! array of materials
55 TObjArray *fRotations; //! Rotation Matrices
56 // Zebra bank related information
57 Int_t* fZlq; //! pointer to Zebra bank lq
58 Float_t* fZq; //! pointer to Zebra bank q
59 Int_t* fZiq; //! pointer to Zebra bank iq
60 Gclink_t* fGclink; //! pointer to Geant common block
61 Gcnum_t* fGcnum; //! pointer to Geant common block
62 // List Tree
63 TFolder* fTopFolder; //! Folder structure containing volumes
64 TGeometry* fGeometry; // Pointer to geometry
65 Int_t fExpand; // Flag for division expansion
66
67 ClassDef(AliG3toRoot,1) // Material Object for GUI
68};
69
70#endif
71
72
73
74
75
76
77
78