#ifndef ALIFMDGEOMETRYBUILDER_H
#define ALIFMDGEOMETRYBUILDER_H
#ifndef ROOT_TTask
# include <TTask.h>
#endif
#ifndef ROOT_TArrayI
# include <TArrayI.h>
#endif
class TGeoVolume;
class TGeoMedium;
class TGeoShape;
class AliFMD;
class AliFMDRing;
class AliFMDDetector;
class AliFMD1;
class AliFMD2;
class AliFMD3;
class AliFMDGeometryBuilder : public TTask
{
public:
AliFMDGeometryBuilder();
AliFMDGeometryBuilder(Bool_t detailed);
virtual ~AliFMDGeometryBuilder() {}
virtual void Exec(Option_t* option="");
virtual void UseAssembly(Bool_t use=kTRUE) { fUseAssembly = use; }
virtual void SetDetailed(Bool_t use) { fDetailed = use; }
Int_t GetSectorOff() const { return fSectorOff; }
Int_t GetModuleOff() const { return fModuleOff; }
Int_t GetRingOff() const { return fRingOff; }
Int_t GetDetectorOff() const { return fDetectorOff; }
protected:
AliFMDGeometryBuilder(const AliFMDGeometryBuilder& o)
: TTask(o),
fActiveId(o.fActiveId),
fDetailed(o.fDetailed),
fUseAssembly(o.fUseAssembly),
fSectorOff(o.fSectorOff),
fModuleOff(o.fModuleOff),
fRingOff(o.fRingOff),
fDetectorOff(o.fDetectorOff),
fSi(o.fSi),
fC(o.fC),
fAl(o.fAl),
fPCB(o.fPCB),
fChip(o.fChip),
fAir(o.fAir),
fPlastic(o.fPlastic),
fCopper(o.fCopper),
fSteel(o.fSteel)
{}
AliFMDGeometryBuilder& operator=(const AliFMDGeometryBuilder&){return *this;}
virtual TGeoShape* MakeXTRU(const TObjArray& verticies, Double_t thick) const;
virtual TGeoVolume* RingGeometry(const AliFMDRing* r);
virtual TGeoShape* HoneycombShape(Int_t id, Char_t ring,
double r1, double r2,
double w, double t, double c=0.3);
virtual TGeoVolume* TensionBox();
virtual TGeoVolume* DetectorGeometry(const AliFMDDetector* d,
TGeoVolume* motherTop,
TGeoVolume* motherBot,
Double_t zmother,
TGeoVolume* innerTop,
TGeoVolume* innerBot,
TGeoVolume* outerTop=0,
TGeoVolume* outerBot=0);
virtual TGeoVolume* FMD1Geometry(const AliFMD1* d,
TGeoVolume* innerTop,
TGeoVolume* innerBot);
virtual TGeoVolume* FMD2Geometry(const AliFMD2* d,
TGeoVolume* innerTop,
TGeoVolume* innerBot,
TGeoVolume* outerTop,
TGeoVolume* outerBot);
virtual TGeoVolume* FMD3Geometry(const AliFMD3* d,
TGeoVolume* innerTop,
TGeoVolume* innerBot,
TGeoVolume* outerTop,
TGeoVolume* outerBot);
TArrayI fActiveId;
Bool_t fDetailed;
Bool_t fUseAssembly;
Int_t fSectorOff;
Int_t fModuleOff;
Int_t fRingOff;
Int_t fDetectorOff;
TGeoMedium* fSi;
TGeoMedium* fC;
TGeoMedium* fAl;
TGeoMedium* fPCB;
TGeoMedium* fChip;
TGeoMedium* fAir;
TGeoMedium* fPlastic;
TGeoMedium* fCopper;
TGeoMedium* fSteel;
static const Char_t* fgkActiveName;
static const Char_t* fgkSectorName;
static const Char_t* fgkStripName;
static const Char_t* fgkSensorName;
static const Char_t* fgkPCBName;
static const Char_t* fgkCuName;
static const Char_t* fgkChipName;
static const Char_t* fgkLongLegName;
static const Char_t* fgkShortLegName;
static const Char_t* fgkFrontVName;
static const Char_t* fgkBackVName;
static const Char_t* fgkRingTopName;
static const Char_t* fgkRingBotName;
static const Char_t* fgkHCName;
static const Char_t* fgkIHCName;
static const Char_t* fgkNoseName;
static const Char_t* fgkBackName;
static const Char_t* fgkTopName;
static const Char_t* fgkBeamName;
static const Char_t* fgkFlangeName;
static const Char_t* fgkFMDDCuName;
static const Char_t* fgkFMDDPCBName;
static const Char_t* fgkFMDDChipName;
static const Char_t* fgkFMDDName;
static const Char_t* fgkFMDName;
ClassDef(AliFMDGeometryBuilder,1)
};
#endif
AliFMDGeometryBuilder.h:1 AliFMDGeometryBuilder.h:2 AliFMDGeometryBuilder.h:3 AliFMDGeometryBuilder.h:4 AliFMDGeometryBuilder.h:5 AliFMDGeometryBuilder.h:6 AliFMDGeometryBuilder.h:7 AliFMDGeometryBuilder.h:8 AliFMDGeometryBuilder.h:9 AliFMDGeometryBuilder.h:10 AliFMDGeometryBuilder.h:11 AliFMDGeometryBuilder.h:12 AliFMDGeometryBuilder.h:13 AliFMDGeometryBuilder.h:14 AliFMDGeometryBuilder.h:15 AliFMDGeometryBuilder.h:16 AliFMDGeometryBuilder.h:17 AliFMDGeometryBuilder.h:18 AliFMDGeometryBuilder.h:19 AliFMDGeometryBuilder.h:20 AliFMDGeometryBuilder.h:21 AliFMDGeometryBuilder.h:22 AliFMDGeometryBuilder.h:23 AliFMDGeometryBuilder.h:24 AliFMDGeometryBuilder.h:25 AliFMDGeometryBuilder.h:26 AliFMDGeometryBuilder.h:27 AliFMDGeometryBuilder.h:28 AliFMDGeometryBuilder.h:29 AliFMDGeometryBuilder.h:30 AliFMDGeometryBuilder.h:31 AliFMDGeometryBuilder.h:32 AliFMDGeometryBuilder.h:33 AliFMDGeometryBuilder.h:34 AliFMDGeometryBuilder.h:35 AliFMDGeometryBuilder.h:36 AliFMDGeometryBuilder.h:37 AliFMDGeometryBuilder.h:38 AliFMDGeometryBuilder.h:39 AliFMDGeometryBuilder.h:40 AliFMDGeometryBuilder.h:41 AliFMDGeometryBuilder.h:42 AliFMDGeometryBuilder.h:43 AliFMDGeometryBuilder.h:44 AliFMDGeometryBuilder.h:45 AliFMDGeometryBuilder.h:46 AliFMDGeometryBuilder.h:47 AliFMDGeometryBuilder.h:48 AliFMDGeometryBuilder.h:49 AliFMDGeometryBuilder.h:50 AliFMDGeometryBuilder.h:51 AliFMDGeometryBuilder.h:52 AliFMDGeometryBuilder.h:53 AliFMDGeometryBuilder.h:54 AliFMDGeometryBuilder.h:55 AliFMDGeometryBuilder.h:56 AliFMDGeometryBuilder.h:57 AliFMDGeometryBuilder.h:58 AliFMDGeometryBuilder.h:59 AliFMDGeometryBuilder.h:60 AliFMDGeometryBuilder.h:61 AliFMDGeometryBuilder.h:62 AliFMDGeometryBuilder.h:63 AliFMDGeometryBuilder.h:64 AliFMDGeometryBuilder.h:65 AliFMDGeometryBuilder.h:66 AliFMDGeometryBuilder.h:67 AliFMDGeometryBuilder.h:68 AliFMDGeometryBuilder.h:69 AliFMDGeometryBuilder.h:70 AliFMDGeometryBuilder.h:71 AliFMDGeometryBuilder.h:72 AliFMDGeometryBuilder.h:73 AliFMDGeometryBuilder.h:74 AliFMDGeometryBuilder.h:75 AliFMDGeometryBuilder.h:76 AliFMDGeometryBuilder.h:77 AliFMDGeometryBuilder.h:78 AliFMDGeometryBuilder.h:79 AliFMDGeometryBuilder.h:80 AliFMDGeometryBuilder.h:81 AliFMDGeometryBuilder.h:82 AliFMDGeometryBuilder.h:83 AliFMDGeometryBuilder.h:84 AliFMDGeometryBuilder.h:85 AliFMDGeometryBuilder.h:86 AliFMDGeometryBuilder.h:87 AliFMDGeometryBuilder.h:88 AliFMDGeometryBuilder.h:89 AliFMDGeometryBuilder.h:90 AliFMDGeometryBuilder.h:91 AliFMDGeometryBuilder.h:92 AliFMDGeometryBuilder.h:93 AliFMDGeometryBuilder.h:94 AliFMDGeometryBuilder.h:95 AliFMDGeometryBuilder.h:96 AliFMDGeometryBuilder.h:97 AliFMDGeometryBuilder.h:98 AliFMDGeometryBuilder.h:99 AliFMDGeometryBuilder.h:100 AliFMDGeometryBuilder.h:101 AliFMDGeometryBuilder.h:102 AliFMDGeometryBuilder.h:103 AliFMDGeometryBuilder.h:104 AliFMDGeometryBuilder.h:105 AliFMDGeometryBuilder.h:106 AliFMDGeometryBuilder.h:107 AliFMDGeometryBuilder.h:108 AliFMDGeometryBuilder.h:109 AliFMDGeometryBuilder.h:110 AliFMDGeometryBuilder.h:111 AliFMDGeometryBuilder.h:112 AliFMDGeometryBuilder.h:113 AliFMDGeometryBuilder.h:114 AliFMDGeometryBuilder.h:115 AliFMDGeometryBuilder.h:116 AliFMDGeometryBuilder.h:117 AliFMDGeometryBuilder.h:118 AliFMDGeometryBuilder.h:119 AliFMDGeometryBuilder.h:120 AliFMDGeometryBuilder.h:121 AliFMDGeometryBuilder.h:122 AliFMDGeometryBuilder.h:123 AliFMDGeometryBuilder.h:124 AliFMDGeometryBuilder.h:125 AliFMDGeometryBuilder.h:126 AliFMDGeometryBuilder.h:127 AliFMDGeometryBuilder.h:128 AliFMDGeometryBuilder.h:129 AliFMDGeometryBuilder.h:130 AliFMDGeometryBuilder.h:131 AliFMDGeometryBuilder.h:132 AliFMDGeometryBuilder.h:133 AliFMDGeometryBuilder.h:134 AliFMDGeometryBuilder.h:135 AliFMDGeometryBuilder.h:136 AliFMDGeometryBuilder.h:137 AliFMDGeometryBuilder.h:138 AliFMDGeometryBuilder.h:139 AliFMDGeometryBuilder.h:140 AliFMDGeometryBuilder.h:141 AliFMDGeometryBuilder.h:142 AliFMDGeometryBuilder.h:143 AliFMDGeometryBuilder.h:144 AliFMDGeometryBuilder.h:145 AliFMDGeometryBuilder.h:146 AliFMDGeometryBuilder.h:147 AliFMDGeometryBuilder.h:148 AliFMDGeometryBuilder.h:149 AliFMDGeometryBuilder.h:150 AliFMDGeometryBuilder.h:151 AliFMDGeometryBuilder.h:152 AliFMDGeometryBuilder.h:153 AliFMDGeometryBuilder.h:154 AliFMDGeometryBuilder.h:155 AliFMDGeometryBuilder.h:156 AliFMDGeometryBuilder.h:157 AliFMDGeometryBuilder.h:158 AliFMDGeometryBuilder.h:159 AliFMDGeometryBuilder.h:160 AliFMDGeometryBuilder.h:161 AliFMDGeometryBuilder.h:162 AliFMDGeometryBuilder.h:163 AliFMDGeometryBuilder.h:164 AliFMDGeometryBuilder.h:165 AliFMDGeometryBuilder.h:166 AliFMDGeometryBuilder.h:167 AliFMDGeometryBuilder.h:168 AliFMDGeometryBuilder.h:169 AliFMDGeometryBuilder.h:170 AliFMDGeometryBuilder.h:171 AliFMDGeometryBuilder.h:172 AliFMDGeometryBuilder.h:173 AliFMDGeometryBuilder.h:174 AliFMDGeometryBuilder.h:175 AliFMDGeometryBuilder.h:176 AliFMDGeometryBuilder.h:177 AliFMDGeometryBuilder.h:178 AliFMDGeometryBuilder.h:179 AliFMDGeometryBuilder.h:180 AliFMDGeometryBuilder.h:181 AliFMDGeometryBuilder.h:182 AliFMDGeometryBuilder.h:183 AliFMDGeometryBuilder.h:184 AliFMDGeometryBuilder.h:185 AliFMDGeometryBuilder.h:186 AliFMDGeometryBuilder.h:187 AliFMDGeometryBuilder.h:188 AliFMDGeometryBuilder.h:189 AliFMDGeometryBuilder.h:190 AliFMDGeometryBuilder.h:191 AliFMDGeometryBuilder.h:192 AliFMDGeometryBuilder.h:193 AliFMDGeometryBuilder.h:194 AliFMDGeometryBuilder.h:195 AliFMDGeometryBuilder.h:196 AliFMDGeometryBuilder.h:197 AliFMDGeometryBuilder.h:198 AliFMDGeometryBuilder.h:199 AliFMDGeometryBuilder.h:200 AliFMDGeometryBuilder.h:201 AliFMDGeometryBuilder.h:202 AliFMDGeometryBuilder.h:203 AliFMDGeometryBuilder.h:204 AliFMDGeometryBuilder.h:205 AliFMDGeometryBuilder.h:206 AliFMDGeometryBuilder.h:207 AliFMDGeometryBuilder.h:208 AliFMDGeometryBuilder.h:209 AliFMDGeometryBuilder.h:210 AliFMDGeometryBuilder.h:211 AliFMDGeometryBuilder.h:212 AliFMDGeometryBuilder.h:213 AliFMDGeometryBuilder.h:214 AliFMDGeometryBuilder.h:215 AliFMDGeometryBuilder.h:216 AliFMDGeometryBuilder.h:217 AliFMDGeometryBuilder.h:218 AliFMDGeometryBuilder.h:219 AliFMDGeometryBuilder.h:220 AliFMDGeometryBuilder.h:221 AliFMDGeometryBuilder.h:222 AliFMDGeometryBuilder.h:223 AliFMDGeometryBuilder.h:224 AliFMDGeometryBuilder.h:225 AliFMDGeometryBuilder.h:226 AliFMDGeometryBuilder.h:227 AliFMDGeometryBuilder.h:228 AliFMDGeometryBuilder.h:229 AliFMDGeometryBuilder.h:230 AliFMDGeometryBuilder.h:231 AliFMDGeometryBuilder.h:232 AliFMDGeometryBuilder.h:233 AliFMDGeometryBuilder.h:234 AliFMDGeometryBuilder.h:235 AliFMDGeometryBuilder.h:236 AliFMDGeometryBuilder.h:237 AliFMDGeometryBuilder.h:238 AliFMDGeometryBuilder.h:239 AliFMDGeometryBuilder.h:240 AliFMDGeometryBuilder.h:241 AliFMDGeometryBuilder.h:242 AliFMDGeometryBuilder.h:243 AliFMDGeometryBuilder.h:244 AliFMDGeometryBuilder.h:245 AliFMDGeometryBuilder.h:246 AliFMDGeometryBuilder.h:247 AliFMDGeometryBuilder.h:248 AliFMDGeometryBuilder.h:249 AliFMDGeometryBuilder.h:250 AliFMDGeometryBuilder.h:251 AliFMDGeometryBuilder.h:252 AliFMDGeometryBuilder.h:253 AliFMDGeometryBuilder.h:254 AliFMDGeometryBuilder.h:255 AliFMDGeometryBuilder.h:256 AliFMDGeometryBuilder.h:257 AliFMDGeometryBuilder.h:258 AliFMDGeometryBuilder.h:259 AliFMDGeometryBuilder.h:260 AliFMDGeometryBuilder.h:261