Added AliMpStringObjMap, AliMpDEIterator, AliMpDEManager, AliMpSegFactory
[u/mrichter/AliRoot.git] / FMD / AliFMDGeoSimulator.h
1 #ifndef ALIFMDGEOSIMULATOR_H
2 #define ALIFMDGEOSIMULATOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice                               
9  */
10 #ifndef ALIFMDSIMULATOR
11 # include <AliFMDSimulator.h>
12 #endif
13 class TGeoVolume;
14 class TGeoMedium;
15 class AliFMD;
16 class AliFMDRing;
17 class AliFMDDetector;
18 class AliFMD1;
19 class AliFMD2;
20 class AliFMD3;
21
22 //____________________________________________________________________
23 class AliFMDGeoSimulator : public AliFMDSimulator
24 {
25 public:
26   AliFMDGeoSimulator();
27   /** CTOR */
28   AliFMDGeoSimulator(AliFMD* fmd, Bool_t detailed=kTRUE);
29   virtual ~AliFMDGeoSimulator() {}
30   /** Initialize */
31   virtual void DefineMaterials();
32   /** Register */
33   virtual void DefineGeometry();
34 protected:
35   /** Make a ring volume 
36       @param r Ring geometry 
37       @return  Ring volume */
38   virtual TGeoVolume* RingGeometry(AliFMDRing* r);
39   /** Make a detector volume 
40       @param d Detector geometry 
41       @param mother Mother volume (detector volume)
42       @param zmother Z position of mother 
43       @param inner Inner ring volume 
44       @param outer Outer ring volume 
45       @return  Detector volume */
46   virtual TGeoVolume* DetectorGeometry(AliFMDDetector* d, 
47                                        TGeoVolume* mother, 
48                                        Double_t zmother, 
49                                        TGeoVolume* inner, 
50                                        TGeoVolume* outer=0);
51   /** Make FMD1 volume 
52       @param d Detector geometry 
53       @param inner Inner ring volume 
54       @return FMD1 volume  */
55   virtual TGeoVolume* FMD1Geometry(AliFMD1* d, TGeoVolume* inner);
56   /** Make FMD2 volume 
57       @param d Detector geometry 
58       @param inner Inner ring volume 
59       @param outer Outer ring volume 
60       @return FMD2 volume  */
61   virtual TGeoVolume* FMD2Geometry(AliFMD2* d, TGeoVolume* inner, 
62                            TGeoVolume* outer);
63   /** Make FMD3 volume 
64       @param d Detector geometry 
65       @param inner Inner ring volume 
66       @param outer Outer ring volume 
67       @return FMD3 volume  */
68   virtual TGeoVolume* FMD3Geometry(AliFMD3* d, TGeoVolume* inner, 
69                            TGeoVolume* outer);
70   TGeoMedium* fSi;       //! Si Medium
71   TGeoMedium* fC;        //! C Medium
72   TGeoMedium* fAl;       //! Al Medium
73   TGeoMedium* fPCB;      //! PCB Medium
74   TGeoMedium* fChip;     //! Chip Medium
75   TGeoMedium* fAir;      //! Air Medium
76   TGeoMedium* fPlastic;  //! Plastic Medium
77   TGeoMedium* fCopper;   //! Copper Medium
78
79   ClassDef(AliFMDGeoSimulator,1)
80 };
81
82 #endif
83 //____________________________________________________________________
84 //
85 // Local Variables:
86 //   mode: C++
87 // End:
88 //
89 // EOF
90 //
91