ITS new Geometry files. Not yet ready for uses, committed to allow additional
[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
6/*
7 $Id$
8 */
9
10/////////////////////////////////////////////////////////////////////////
11// Manager and hits classes for set: ITS version 11, 2003 geometry //
12/////////////////////////////////////////////////////////////////////////
13
14#include "AliITS.h"
162acd47 15class AliITSGeometryITSV;
aa9bc63b 16class AliITSGeometrySSDCone;
162acd47 17//class AliITSGeometrySDDCone;
2b680d9b 18
19class AliITSv11 : public AliITS {
20
21 public:
22 AliITSv11();
23 AliITSv11(const char *title);
24 AliITSv11(const AliITSv11 &source); // copy constructor
25 AliITSv11& operator=(const AliITSv11 &source); // assignment operator
162acd47 26 virtual ~AliITSv11();
2b680d9b 27 virtual void BuildGeometry();
28 virtual void CreateGeometry();
29 virtual void CreateMaterials();
162acd47 30 virtual Int_t IsVersion() const {return 11;} // ITS version number
2b680d9b 31 virtual void Init();
32 virtual void SetDefaults();
33 virtual void DrawModule();
34 virtual void StepManager();
35 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
36 fGeomDetOut = det;}
37 virtual void SetWriteDet(const char *f){ // set write file
162acd47 38 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
2b680d9b 39 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
40 fGeomDetIn = det;}
41 virtual void SetReadDet(const char *f){ // set read file
162acd47 42 strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
2b680d9b 43 virtual void SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
44 fEuclidOut = euclid;}
45 virtual void SetEUCLIDFileName(const char *f){ // set write file
46 fEuclidGeometry=f;fEuclidOut = kTRUE;}
162acd47 47 virtual void SetMinorVersion(Int_t v=00){ // Set minor version
2b680d9b 48 fMinorVersion = v;}
49 virtual void SetThicknessDet1(Float_t v=200.){
50 // Set detector thickness in layer 1
51 fDet1 = v;}
52 virtual void SetThicknessDet2(Float_t v=200.){
53 // Set detector thickness in layer 2
54 fDet2 = v;}
55 virtual void SetThicknessChip1(Float_t v=300.){
56 // Set chip thickness in layer 1
57 fChip1 = v;}
58 virtual void SetThicknessChip2(Float_t v=200.){
59 // Set chip thickness in layer 2
60 fChip2 = v;}
61 virtual void SetRails(Int_t v=1){
62 // Set flag for rails
63 fRails = v;}
64 virtual void SetCoolingFluid(Int_t v=1){
65 // Set flag for cooling fluid
66 fFluid = v;}
162acd47 67 virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag
2b680d9b 68 virtual const char *GetEULIIDFileName() const{ // return .euc file name
69 return fEuclidGeometry.Data();}
70 virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
71 return fGeomDetOut;}
72 virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
73 return fGeomDetIn;}
74 virtual char *GetReadDetFileName(){ // return .det read file name
162acd47 75 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
2b680d9b 76 virtual char *GetWriteDetFileName(){ // return .det write file name
162acd47 77 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
2b680d9b 78 virtual Int_t GetMajorVersion(){// return Major Version Number
79 return fMajorVersion;}
80 virtual Int_t GetMinorVersion(){// return Major Version Number
81 return fMinorVersion;}
82 virtual Float_t GetThicknessDet1(){
83 // Get detector thickness in layer 1
84 return fDet1;}
85 virtual Float_t GetThicknessDet2(){
86 // Get detector thickness in layer 2
87 return fDet2;}
88 virtual Float_t GetThicknessChip1(){
89 // Get chip thickness in layer 1
90 return fChip1;}
91 virtual Float_t GetThicknessChip2(){
92 // Get chip thickness in layer 2
93 return fChip2;}
94 virtual Int_t GetRails(){
95 // Get flag for rails
96 return fRails;}
97 virtual Int_t GetCoolingFluid(){
98 // Get flag for cooling fluid
99 return fFluid;}
100
101 private:
102 void InitAliITSgeom();
2b680d9b 103
104 // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
105 Bool_t fEuclidOut; // Flag to write geometry in euclid format
106 Bool_t fGeomDetOut; // Flag to write .det file out
107 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
108 Int_t fMajorVersion; // Major version number == IsVersion
109 Int_t fMinorVersion; // Minor version number
110 char fEuclidGeomDet[60];// file where detector transormation are define.
111 char fRead[60]; //! file name to read .det file
112 char fWrite[60]; //! file name to write .det file
113 Float_t fDet1; // thickness of detector in SPD layer 1
114 Float_t fDet2; // thickness of detector in SPD layer 2
115 Float_t fChip1; // thickness of chip in SPD layer 1
116 Float_t fChip2; // thickness of chip in SPD layer 2
162acd47 117 Int_t fRails; // switch rails on (=1) and off (=0)
118 Int_t fFluid; // switch between water(=1) and freon(=0)
119 //
120 AliITSGeometryITSV *fITSV; //! ITS Mother Volume.
121 AliITSGeometrySSDCone *fcS; //! ITS SSD Cone geometry.
122// AliITSGeometrySDDCone *fcD; //! ITS SDD Cone geometry.
2b680d9b 123
162acd47 124 ClassDef(AliITSv11,1) //Hits manager for set:ITS version 11
2b680d9b 125};
126
127#endif