New geometry: SDD, cables and update on V11 (L. Gaudichet)
[u/mrichter/AliRoot.git] / ITS / AliITSv11.h
CommitLineData
2b680d9b 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
2b680d9b 6
7#include "AliITS.h"
db486a6e 8class AliITSv11GeometrySPD;
9class AliITSv11GeometrySDD;
10class AliITSv11GeometrySupport;
b7943f00 11
2b680d9b 12class AliITSv11 : public AliITS {
13
14 public:
15 AliITSv11();
b7943f00 16 AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0,
17 Int_t debugSSD = 0, Int_t debugSUP = 0);
18 AliITSv11(const AliITSv11 &source); // copy constructor
2b680d9b 19 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
b7943f00 20 virtual ~AliITSv11() ;
2b680d9b 21 virtual void BuildGeometry();
22 virtual void CreateGeometry();
23 virtual void CreateMaterials();
2b680d9b 24 virtual void Init();
25 virtual void SetDefaults();
b7943f00 26 virtual void DrawModule() const;
2b680d9b 27 virtual void StepManager();
b7943f00 28 //virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;}
29 virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;}
30 //virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}
31 virtual Int_t IsVersion() const { return fMajorVersion;} // ITS version number
32 virtual Int_t GetMajorVersion() const {// return Major Version Number
33 return fMajorVersion;}
34 virtual Int_t GetMinorVersion() const {// return Major Version Number
35 return fMinorVersion;}
36
37
38 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
39 fGeomDetOut = det;}
40 virtual void SetWriteDet(const char *f){ // set write file
41 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
42 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
43 fGeomDetIn = det;}
44 virtual void SetReadDet(const char *f){ // set read file
45 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
46 virtual void SetEUCLIDFileName(const char *f){ // set write file
47 fEuclidGeometry=f;fEuclidOut = kTRUE;}
48 virtual void SetMinorVersion(Int_t v=0){ // Choose between existing minor versions
49 fMinorVersion = v;}
50
51 virtual void SetDensityServicesByThickness(){// uses services density
52 // calculation based on the thickness of the services.
53 fByThick = kTRUE;}
54 virtual void SetDensityServicesByMass(){// uses services density
55 // calculation based on the Mass of the services.
56 fByThick = kFALSE;}
57 virtual Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag.
58 virtual const char *GetEULIIDFileName() const{ // return .euc file name
59 return fEuclidGeometry.Data();}
60 virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
61 return fGeomDetOut;}
62 virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag.
63 return fGeomDetIn;}
64 virtual char *GetReadDetFileName(){ // return .det read file name
65 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
66 virtual char *GetWriteDetFileName(){ // return .det write file name
67 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
68
69
70 private:
2b680d9b 71 void InitAliITSgeom();
2b680d9b 72
b7943f00 73 Bool_t fGeomDetOut; // Flag to write .det file out
74 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
75 Bool_t fByThick; // Flag to use services materials by thickness
76 // ture, or mass false.
77 Int_t fMajorVersion; // Major version number == IsVersion
78 Int_t fMinorVersion; // Minor version number
79 char fEuclidGeomDet[60];// file where detector transormation are define.
80 char fRead[60]; //! file name to read .det file
81 char fWrite[60]; //! file name to write .det file
82
83
84 //AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry
85 AliITSv11GeometrySDD *fSDDgeom; //SDD Geometry
86 //AliITSv11GeometrySupport /fSupgeom; //Support Geometry
2b680d9b 87
b7943f00 88 ClassDef(AliITSv11,1) // ITS version 11
2b680d9b 89};
90
91#endif