Line data Source code
1 : #ifndef ALIITSV11_H
2 : #define ALIITSV11_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 : // Inner Traking System geometry v11
9 : //
10 : // Based on ROOT geometrical modeler
11 : //
12 : // B. Nilsen, L. Gaudichet, M. Sitta
13 : //
14 : //========================================================================
15 :
16 :
17 : // $Id:
18 :
19 : // $Log$
20 : // Revision 1.1 2011/06/10 14:48:24 masera
21 : // First version from v11Hybrid to v11 (M. Sitta)
22 : //
23 :
24 : #include "AliITS.h"
25 : #include "AliITSInitGeometry.h"
26 :
27 : class AliITSv11GeometrySPD;
28 : class AliITSv11GeometrySDD;
29 : class AliITSv11GeometrySSD;
30 : class AliITSv11GeometrySupport;
31 : class TGeoVolume;
32 : class TGeoVolumeAssembly;
33 :
34 : class AliITSv11 : public AliITS {
35 :
36 : public:
37 : AliITSv11();
38 : AliITSv11(const char *title);
39 : AliITSv11(const char *name, const char *title);
40 : virtual ~AliITSv11() ;
41 :
42 : virtual void AddAlignableVolumes() const;
43 : virtual void CreateGeometry();
44 : virtual void CreateMaterials();
45 :
46 0 : virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
47 0 : virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
48 0 : virtual AliITSv11GeometrySSD* GetSSDGeometry(){return fSSDgeom;}
49 0 : virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
50 :
51 : virtual Int_t IsVersion() const {// returns the ITS version number
52 6 : return 11;}
53 : virtual void Init();
54 : virtual void SetDefaults();
55 : virtual void StepManager();
56 : virtual void SetDensityServicesByThickness(){// uses services density
57 : // calculation based on the thickness of the services.
58 2 : fByThick = kTRUE;}
59 : virtual void SetDensityServicesByMass(){// uses services density
60 : // calculation based on the Mass of the services.
61 0 : fByThick = kFALSE;}
62 :
63 :
64 : protected:
65 : void SetT2Lmatrix(Int_t uid, Double_t yShift,
66 : Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries
67 :
68 : private:
69 : AliITSv11(const AliITSv11 &source); // copy constructor
70 : AliITSv11& operator=(const AliITSv11 &source); // assignment operator
71 :
72 : Bool_t fByThick; // Flag to use services materials by thickness
73 : // ture, or mass false.
74 : Int_t fIDMother; //! ITS Mother Volume id.
75 :
76 : AliITSInitGeometry fInitGeom; //! Get access to decoding and AliITSgeom init functions
77 : AliITSv11GeometrySPD *fSPDgeom; //! SPD Geometry
78 : AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
79 : AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry
80 : AliITSv11GeometrySupport *fSupgeom; //! Support Geometry
81 :
82 374 : ClassDef(AliITSv11,4) // ITS version 11
83 : };
84 :
85 : #endif
|