]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSGeant3Geometry.h
Correct the number of buspatches for station 1 & 2 and for R2 & R3 type slat (Christian)
[u/mrichter/AliRoot.git] / ITS / AliITSGeant3Geometry.h
1 #ifndef ALIITSGEANT3GEOMETRY_H
2 #define ALIITSGEANT3GEOMETRY_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 //  Version: 0                                                       //
9 //  Written by Bjorn S. Nilsen with code stolen from Andreas Morsch's//
10 //  AliGeant3GeometryGUI class.                                      //
11 ///////////////////////////////////////////////////////////////////////
12
13 #include "TObject.h"
14 #include "TGeant3.h"
15
16 class AliITSGeant3Geometry : public TObject {
17  public:
18     AliITSGeant3Geometry();
19     virtual ~AliITSGeant3Geometry(){}
20     AliITSGeant3Geometry(const AliITSGeant3Geometry &s) : TObject(s) {}
21     AliITSGeant3Geometry & operator=(const AliITSGeant3Geometry &s) 
22     {if(&s==this) return *this; return *this;}
23     
24     // Return number of children for volume idvol
25     Int_t NChildren(Int_t idvol);
26     // Return child number idc of volume idvol
27     Int_t Child(Int_t idvol, Int_t idc);
28     // Return medium number for given volume idvol
29     Int_t Medium(Int_t idvol);
30     // Return material number for given volume idvol
31     Int_t Material(Int_t idvol);
32     // Reads the zebra geometry tree and put it into the ListTree
33 //    void  ReadGeometryTree();
34     // Read material and media information and put it into ComboBox 
35 //    void  ReadMaterials();
36 //    Float_t Cut(Int_t idmed, Int_t icut);
37     Int_t GetShape(Int_t idvol,Int_t &npar,Int_t &natt,Float_t *par,
38                    Float_t *att);
39     void GetGeometry(Int_t nlevels,Int_t *lnam,Int_t *lnum,Double_t *xt,
40                      Double_t *r,Int_t &idshape,Int_t &npar,Int_t &natt,
41                      Float_t *par,Float_t *att,Int_t &imat,Int_t &imed);
42     Int_t StringToInt(char *name);
43
44  private:
45 // Zebra bank related information       
46     Int_t    *fZlq;              // pointer to Zebra bank lq
47     Float_t  *fZq;               // pointer to Zebra bank q
48     Int_t    *fZiq;              // pointer to Zebra bank iq
49     Gclink_t *fGclink;           // pointer to Geant common block 
50     Gcnum_t  *fGcnum;            // pointer to Geant common block
51     Gcvolu_t *fGcvolu;           // pointer to Geant common block
52
53     ClassDef(AliITSGeant3Geometry,0)  // ITS Geant3 geometry functions
54 };
55 #endif