1 #ifndef ALIITSV5ASYMM_H
2 #define ALIITSV5ASYMM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ////////////////////////////////////////////////////////////////////////
9 // Manager and hits classes for ITS version 5 with symm services
10 ////////////////////////////////////////////////////////////////////////
16 class AliITSv5asymm : public AliITS {
20 AliITSv5asymm(const char *name, const char *title);
21 AliITSv5asymm(const AliITSv5asymm &source); // copy constructor
22 AliITSv5asymm& operator=(const AliITSv5asymm &source); // assignment operator
23 virtual ~AliITSv5asymm() ;
24 virtual void BuildGeometry();
25 virtual void CreateGeometry();
26 virtual void CreateMaterials();
28 virtual Int_t IsVersion() const { // returns the ITS version number
30 virtual void StepManager();
31 void ReadOldGeometry(const char *filename);
32 virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write
34 virtual void SetWriteDet(const char *f){ // set write file
35 strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
36 virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read
38 virtual void SetReadOldDet(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){ // Choose between existing minor versions
48 if(v==1) fMinorVersion = 1;
49 else if(v==2) fMinorVersion = 2;
50 else if(v==3) fMinorVersion = 3;
51 else Warning("SetMinorVersion","Undefined Minor Version setting =3");}
52 virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
53 virtual const char *GetEULIIDFileName() const{ // return .euc file name
54 return fEuclidGeometry.Data();}
55 virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
57 virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
59 virtual Bool_t GetReadDetOld() { // returns value GeomDetIn flag.
60 return fGeomOldDetIn;}
61 virtual char *GetReadDetFileName(){ // return .det read file name
62 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
63 virtual char *GetWriteDetFileName(){ // return .det write file name
64 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
65 virtual Int_t GetMajorVersion(){// return Major Version Number
66 return fMajorVersion;}
67 virtual Int_t GetMinorVersion(){// return Major Version Number
68 return fMinorVersion;}
71 void InitAliITSgeom();
73 // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
74 Bool_t fEuclidOut; // Flag to write geometry in euclid format
75 Bool_t fGeomDetOut; // Flag to write .det file out
76 Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat.
77 Bool_t fGeomOldDetIn; // Flag to read old .det file.
78 Int_t fMajorVersion; // Major version number == IsVersion
79 Int_t fMinorVersion; // Minor version number
80 char fEuclidGeomDet[60];// file where detector transormation are define.
81 char fRead[60]; //! file name to read .det file
82 char fWrite[60]; //! file name to write .det file
85 ClassDef(AliITSv5asymm,1)//Hits manager for ITS version 5 Official detailed
86 //geometry with asymmetric services