3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
10 /////////////////////////////////////////////////////////////////////////
11 // Manager and hits classes for set: ITS version 11, 2003 geometry //
12 /////////////////////////////////////////////////////////////////////////
15 class AliITSGeometrySSDCone;
17 class AliITSv11 : public AliITS {
21 AliITSv11(const char *title);
22 AliITSv11(const AliITSv11 &source); // copy constructor
23 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
24 virtual ~AliITSv11() ;
25 virtual void BuildGeometry();
26 virtual void CreateGeometry();
27 virtual void CreateMaterials();
28 virtual Int_t IsVersion() const {// returns the ITS version number
31 virtual void SetDefaults();
32 virtual void DrawModule();
33 virtual void StepManager();
34 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
36 virtual void SetWriteDet(const char *f){ // set write file
37 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
38 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
40 virtual void SetReadDet(const char *f){ // set read file
41 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
42 virtual void SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
44 virtual void SetEUCLIDFileName(const char *f){ // set write file
45 fEuclidGeometry=f;fEuclidOut = kTRUE;}
46 virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
48 virtual void SetThicknessDet1(Float_t v=200.){
49 // Set detector thickness in layer 1
51 virtual void SetThicknessDet2(Float_t v=200.){
52 // Set detector thickness in layer 2
54 virtual void SetThicknessChip1(Float_t v=300.){
55 // Set chip thickness in layer 1
57 virtual void SetThicknessChip2(Float_t v=200.){
58 // Set chip thickness in layer 2
60 virtual void SetRails(Int_t v=1){
63 virtual void SetCoolingFluid(Int_t v=1){
64 // Set flag for cooling fluid
66 virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
67 virtual const char *GetEULIIDFileName() const{ // return .euc file name
68 return fEuclidGeometry.Data();}
69 virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
71 virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
73 virtual char *GetReadDetFileName(){ // return .det read file name
74 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
75 virtual char *GetWriteDetFileName(){ // return .det write file name
76 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
77 virtual Int_t GetMajorVersion(){// return Major Version Number
78 return fMajorVersion;}
79 virtual Int_t GetMinorVersion(){// return Major Version Number
80 return fMinorVersion;}
81 virtual Float_t GetThicknessDet1(){
82 // Get detector thickness in layer 1
84 virtual Float_t GetThicknessDet2(){
85 // Get detector thickness in layer 2
87 virtual Float_t GetThicknessChip1(){
88 // Get chip thickness in layer 1
90 virtual Float_t GetThicknessChip2(){
91 // Get chip thickness in layer 2
93 virtual Int_t GetRails(){
96 virtual Int_t GetCoolingFluid(){
97 // Get flag for cooling fluid
101 void InitAliITSgeom();
103 // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
104 Bool_t fEuclidOut; // Flag to write geometry in euclid format
105 Bool_t fGeomDetOut; // Flag to write .det file out
106 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
107 Int_t fMajorVersion; // Major version number == IsVersion
108 Int_t fMinorVersion; // Minor version number
109 char fEuclidGeomDet[60];// file where detector transormation are define.
110 char fRead[60]; //! file name to read .det file
111 char fWrite[60]; //! file name to write .det file
112 Float_t fDet1; // thickness of detector in SPD layer 1
113 Float_t fDet2; // thickness of detector in SPD layer 2
114 Float_t fChip1; // thickness of chip in SPD layer 1
115 Float_t fChip2; // thickness of chip in SPD layer 2
116 Int_t fRails; // flag to switch rails on (=1) and off (=0)
117 Int_t fFluid; // flag to switch between water(=1) and freon(=0)
118 AliITSGeometrySSDCone *fc;//! ITS SSD Cone geometry. ONLY THING DEFINED.
120 ClassDef(AliITSv11,1) //Hits manager for set:ITS version 11
121 // PPR detailed Geometry asymmetric