3 /* Copyright(c) 2007-2008, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5 //************************************************************************
7 // Inner Traking System geometry v11
9 // Based on ROOT geometrical modeler
11 // B. Nilsen, L. Gaudichet
12 //************************************************************************
15 class AliITSv11GeometrySPD;
16 class AliITSv11GeometrySDD;
17 class AliITSv11GeometrySupport;
19 class AliITSv11 : public AliITS {
23 AliITSv11(const char *name, const char *title);
24 AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0,
25 Int_t debugSSD = 0, Int_t debugSUP = 0);
26 virtual ~AliITSv11() ;
27 virtual void BuildGeometry();
28 virtual void CreateGeometry();
29 virtual void CreateMaterials();
31 virtual void SetDefaults();
32 virtual void DrawModule() const;
33 virtual void StepManager();
34 //virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
35 virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
36 //virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
37 virtual Int_t IsVersion() const { return fMajorVersion;} // ITS version number
38 virtual Int_t GetMajorVersion() const {// return Major Version Number
39 return fMajorVersion;}
40 virtual Int_t GetMinorVersion() const {// return Major Version Number
41 return fMinorVersion;}
44 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
46 virtual void SetWriteDet(const char *f){ // set write file
47 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
48 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
50 virtual void SetReadDet(const char *f){ // set read file
51 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
52 virtual void SetEUCLIDFileName(const char *f){ // set write file
53 fEuclidGeometry=f;fEuclidOut = kTRUE;}
54 virtual void SetMinorVersion(Int_t v=0){ // Choose between existing minor versions
57 virtual void SetDensityServicesByThickness(){// uses services density
58 // calculation based on the thickness of the services.
60 virtual void SetDensityServicesByMass(){// uses services density
61 // calculation based on the Mass of the services.
63 virtual Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag.
64 virtual const char *GetEULIIDFileName() const{ // return .euc file name
65 return fEuclidGeometry.Data();}
66 virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
68 virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
70 virtual char *GetReadDetFileName(){ // return .det read file name
71 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
72 virtual char *GetWriteDetFileName(){ // return .det write file name
73 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
77 AliITSv11(const AliITSv11 &source); // copy constructor
78 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
79 void InitAliITSgeom();
81 Bool_t fGeomDetOut; // Flag to write .det file out
82 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
83 Bool_t fByThick; // Flag to use services materials by thickness
84 // ture, or mass false.
85 Int_t fMajorVersion; // Major version number == IsVersion
86 Int_t fMinorVersion; // Minor version number
87 char fEuclidGeomDet[60];// file where detector transormation are define.
88 char fRead[60]; //! file name to read .det file
89 char fWrite[60]; //! file name to write .det file
92 //AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry
93 AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry
94 //AliITSv11GeometrySupport /fSupgeom; //Support Geometry
96 ClassDef(AliITSv11,1) // ITS version 11