]>
Commit | Line | Data |
---|---|---|
29998a6e | 1 | #ifndef ALIITSV11GEOMETRYUPGRADE_H |
2 | #define ALIITSV11GEOMETRYUPGRADE_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | //************************************************************************* | |
8 | // This class Defines the Geometry for the ITS Upgrade using TGeo | |
9 | // This is a work class used to study different configurations | |
10 | // during the development of the new ITS structure. | |
11 | // | |
12 | // Mario Sitta <sitta@to.infn.it> | |
13 | //************************************************************************* | |
14 | ||
15 | ||
16 | /* | |
451f5018 | 17 | $Id: AliITSUv11Layer.h |
29998a6e | 18 | */ |
19 | ||
20 | #include "AliITSv11Geometry.h" | |
21 | #include <TGeoManager.h> | |
22 | #include <TGeoCompositeShape.h> | |
23 | #include <TGeoXtru.h> | |
24 | ||
25 | class TGeoVolume; | |
26 | ||
451f5018 | 27 | class AliITSUv11Layer : public AliITSv11Geometry { |
29998a6e | 28 | public: |
451f5018 | 29 | AliITSUv11Layer(); |
30 | AliITSUv11Layer(Int_t debug); | |
31 | AliITSUv11Layer(Int_t lay, Int_t debug); | |
32 | AliITSUv11Layer(Int_t lay, Bool_t turbo, Int_t debug); | |
33 | AliITSUv11Layer(const AliITSUv11Layer &source); | |
34 | AliITSUv11Layer& operator=(const AliITSUv11Layer &source); | |
35 | virtual ~AliITSUv11Layer(); | |
29998a6e | 36 | // |
37 | Bool_t IsTurbo() {return fIsTurbo;}; | |
38 | ||
5d49e153 | 39 | Double_t GetLadderThick() const {return fLadderThick;}; |
40 | Double_t GetLadderTilt() const {return fLadderTilt;}; | |
41 | Double_t GetLadderWidth() const {return fLadderWidth;}; | |
42 | Double_t GetSensorThick() const {return fSensorThick;}; | |
43 | Double_t GetNLadders() const {return fNLadders;}; | |
44 | Double_t GetNModules() const {return fNModules;}; | |
45 | Double_t GetRadius() const {return fLayRadius;}; | |
46 | Double_t GetPhi0() const {return fPhi0;}; | |
47 | Double_t GetZLength() const {return fZLength;}; | |
48 | Int_t GetDetType() const {return fDetTypeID;} | |
535d15f5 | 49 | // |
5d49e153 | 50 | void SetLadderThick(Double_t t) {fLadderThick = t;}; |
51 | void SetLadderTilt(Double_t t); | |
52 | void SetLadderWidth(Double_t w); | |
53 | void SetSensorThick(Double_t t) {fSensorThick = t;}; | |
54 | void SetNLadders(Int_t n) {fNLadders = n;}; | |
55 | void SetNModules(Int_t m) {fNModules = m;}; | |
56 | void SetRadius(Double_t r) {fLayRadius = r;}; | |
57 | void SetPhi0(Double_t phi) {fPhi0 = phi;} | |
58 | void SetZLength(Double_t z) {fZLength = z;}; | |
59 | void SetDetType(Int_t tp) {fDetTypeID = tp;} | |
60 | virtual void CreateLayer(TGeoVolume *moth,const TGeoManager *mgr=gGeoManager); | |
29998a6e | 61 | |
62 | private: | |
5d49e153 | 63 | void CreateLayerTurbo(TGeoVolume *moth,const TGeoManager *mgr=gGeoManager); |
29998a6e | 64 | |
362fe8e0 | 65 | Double_t RadiusOfTurboContainer(); |
66 | ||
29998a6e | 67 | TGeoVolume* CreateLadder(const TGeoManager *mgr=gGeoManager); |
5d49e153 | 68 | TGeoVolume* CreateModule(Double_t x,Double_t y, Double_t z, const TGeoManager *mgr=gGeoManager); |
29998a6e | 69 | |
70 | Int_t fLayerNumber; // Current layer number | |
5d49e153 | 71 | Double_t fPhi0; // lab phi of 1st ladder, in degrees!!! |
29998a6e | 72 | Double_t fLayRadius; // Inner radius of this layer |
73 | Double_t fZLength; // Z length of this layer | |
74 | Double_t fSensorThick; // Sensor thickness | |
75 | Double_t fLadderThick; // Ladder thickness | |
76 | Double_t fLadderWidth; // Ladder width (for turbo layers only) | |
5d49e153 | 77 | Double_t fLadderTilt; // Ladder tilt angle (for turbo layers only) in degrees |
29998a6e | 78 | Int_t fNLadders; // Number of ladders in this layer |
79 | Int_t fNModules; // Number of modules per ladder in this layer | |
535d15f5 | 80 | UInt_t fDetTypeID; // detector type id |
29998a6e | 81 | Bool_t fIsTurbo; // True if this layer is a "turbo" layer |
29998a6e | 82 | // Parameters for the Upgrade geometry |
83 | ||
84 | static const Double_t fgkDefaultSensorThick; // Default sensor thickness | |
85 | static const Double_t fgkDefaultLadderThick; // Default ladder thickness | |
86 | ||
451f5018 | 87 | ClassDef(AliITSUv11Layer,0) // ITS v11 Upgrade geometry |
29998a6e | 88 | }; |
89 | ||
90 | #endif |