1 #ifndef ALIFMDGEOMETRYBUILDER_H
2 #define ALIFMDGEOMETRYBUILDER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
6 * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
8 * See cxx source for full Copyright notice
25 //____________________________________________________________________
26 class AliFMDGeometryBuilder : public TTask
29 AliFMDGeometryBuilder();
31 AliFMDGeometryBuilder(Bool_t detailed);
32 virtual ~AliFMDGeometryBuilder() {}
34 virtual void Exec(Option_t* option="");
35 /** @param use Wheher to assemblies in the geometry definition */
36 virtual void UseAssembly(Bool_t use=kTRUE) { fUseAssembly = use; }
37 /** Whether to make a detailed geometry or not.
38 @param use If true, make a detailed geometry */
39 virtual void SetDetailed(Bool_t use) { fDetailed = use; }
40 /** @return Sector offset in volume tree */
41 Int_t GetSectorOff() const { return fSectorOff; }
42 /** @return Module offset in volume tree */
43 Int_t GetModuleOff() const { return fModuleOff; }
44 /** @return Ring offset in the volume tree */
45 Int_t GetRingOff() const { return fRingOff; }
46 /** @return Detector offfset in the volume tree */
47 Int_t GetDetectorOff() const { return fDetectorOff; }
49 /** Make a ring volume
50 @param r Ring geometry
51 @return Ring volume */
52 virtual TGeoVolume* RingGeometry(AliFMDRing* r);
53 /** Make a detector volume
54 @param d Detector geometry
55 @param mother Mother volume (detector volume)
56 @param zmother Z position of mother
57 @param inner Inner ring volume
58 @param outer Outer ring volume
59 @return Detector volume */
60 virtual TGeoVolume* DetectorGeometry(AliFMDDetector* d,
66 @param d Detector geometry
67 @param inner Inner ring volume
68 @return FMD1 volume */
69 virtual TGeoVolume* FMD1Geometry(AliFMD1* d, TGeoVolume* inner);
71 @param d Detector geometry
72 @param inner Inner ring volume
73 @param outer Outer ring volume
74 @return FMD2 volume */
75 virtual TGeoVolume* FMD2Geometry(AliFMD2* d, TGeoVolume* inner,
78 @param d Detector geometry
79 @param inner Inner ring volume
80 @param outer Outer ring volume
81 @return FMD3 volume */
82 virtual TGeoVolume* FMD3Geometry(AliFMD3* d, TGeoVolume* inner,
86 TArrayI fActiveId; //! Active volume ID's
87 Bool_t fDetailed; // Whether to make a detailed simulation
88 Bool_t fUseAssembly; // Assembly volumes
89 Int_t fSectorOff; // Sector offset in volume tree
90 Int_t fModuleOff; // Module offset in volume tree
91 Int_t fRingOff; // Ring offset in the volume tree
92 Int_t fDetectorOff; // Detector offfset in the volume tree
94 TGeoMedium* fSi; //! Si Medium
95 TGeoMedium* fC; //! C Medium
96 TGeoMedium* fAl; //! Al Medium
97 TGeoMedium* fPCB; //! PCB Medium
98 TGeoMedium* fChip; //! Chip Medium
99 TGeoMedium* fAir; //! Air Medium
100 TGeoMedium* fPlastic; //! Plastic Medium
101 TGeoMedium* fCopper; //! Copper Medium
103 static const Char_t* fgkActiveName; // Name of Active volumes
104 static const Char_t* fgkSectorName; // Name of Sector volumes
105 static const Char_t* fgkStripName; // Name of Strip volumes
106 static const Char_t* fgkModuleName; // Name of Module volumes
107 static const Char_t* fgkPCBName; // Name of PCB volumes
108 static const Char_t* fgkLongLegName; // Name of LongLeg volumes
109 static const Char_t* fgkShortLegName; // Name of ShortLeg volumes
110 static const Char_t* fgkFrontVName; // Name of Front volumes
111 static const Char_t* fgkBackVName; // Name of Back volumes
112 static const Char_t* fgkRingName; // Name of Ring volumes
113 static const Char_t* fgkTopHCName; // Name of TopHC volumes
114 static const Char_t* fgkBotHCName; // Name of BotHC volumes
115 static const Char_t* fgkTopIHCName; // Name of TopIHC volumes
116 static const Char_t* fgkBotIHCName; // Name of BotIHC volumes
117 static const Char_t* fgkNoseName; // Name of Nose volumes
118 static const Char_t* fgkBackName; // Name of Back volumes
119 static const Char_t* fgkBeamName; // Name of Beam volumes
120 static const Char_t* fgkFlangeName; // Name of Flange volumes
122 ClassDef(AliFMDGeometryBuilder,1)
126 //____________________________________________________________________