3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //========================================================================
8 // Inner Traking System geometry v11
10 // Based on ROOT geometrical modeler
12 // B. Nilsen, L. Gaudichet, M. Sitta
14 //========================================================================
20 // Revision 1.1 2011/06/10 14:48:24 masera
21 // First version from v11Hybrid to v11 (M. Sitta)
25 #include "AliITSInitGeometry.h"
27 class AliITSv11GeometrySPD;
28 class AliITSv11GeometrySDD;
29 class AliITSv11GeometrySSD;
30 class AliITSv11GeometrySupport;
32 class TGeoVolumeAssembly;
34 class AliITSv11 : public AliITS {
38 AliITSv11(const char *title);
39 AliITSv11(const char *name, const char *title);
40 virtual ~AliITSv11() ;
42 virtual void AddAlignableVolumes() const;
43 virtual void CreateGeometry();
44 virtual void CreateMaterials();
46 virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
47 virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
48 virtual AliITSv11GeometrySSD* GetSSDGeometry(){return fSSDgeom;}
49 virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
51 virtual Int_t IsVersion() const {// returns the ITS version number
54 virtual void SetDefaults();
55 virtual void StepManager();
56 virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
58 virtual void SetDensityServicesByThickness(){// uses services density
59 // calculation based on the thickness of the services.
61 virtual void SetDensityServicesByMass(){// uses services density
62 // calculation based on the Mass of the services.
64 virtual Int_t GetMajorVersion() const {// return Major Version Number
65 return fMajorVersion;}
66 virtual Int_t GetMinorVersion() const {// return Major Version Number
67 return fMinorVersion;}
70 void SetT2Lmatrix(Int_t uid, Double_t yShift,
71 Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries
74 AliITSv11(const AliITSv11 &source); // copy constructor
75 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
77 Bool_t fByThick; // Flag to use services materials by thickness
78 // ture, or mass false.
79 Int_t fMajorVersion; // Major version number == IsVersion
80 Int_t fMinorVersion; // Minor version number
81 Int_t fIDMother; //! ITS Mother Volume id.
83 AliITSInitGeometry fInitGeom; //! Get access to decoding and AliITSgeom init functions
84 AliITSv11GeometrySPD *fSPDgeom; //! SPD Geometry
85 AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
86 AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry
87 AliITSv11GeometrySupport *fSupgeom; //! Support Geometry
89 ClassDef(AliITSv11,3) // ITS version 11