]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSv5asymm.h
Some bug fixs and better displays.
[u/mrichter/AliRoot.git] / ITS / AliITSv5asymm.h
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                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////////////////////////
9 //     Manager and hits classes for  ITS version 5 with symm services
10 ////////////////////////////////////////////////////////////////////////
11
12
13 #include "AliITS.h"
14
15 class TBRIK;
16 class AliITSv5asymm : public AliITS {
17
18  public:
19     AliITSv5asymm();
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();
27     virtual void  Init();   
28     virtual Int_t IsVersion() const { // returns the ITS version number
29         return 5;}
30     virtual void  StepManager();
31     void ReadOldGeometry(const char *filename);
32     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
33                                                  fGeomDetOut = det;}
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
37                                                 fGeomDetIn = det;}
38     virtual void   SetReadOldDet(Bool_t det=kTRUE){ //set .det read
39                                                 fGeomOldDetIn = det;}
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
43                                                   fEuclidOut = euclid;}
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
47         fMinorVersion = 3;
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.
56                                   return fGeomDetOut;}
57     virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
58                                  return fGeomDetIn;}
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;}
69
70  private:
71     void InitAliITSgeom();
72
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
83
84
85     ClassDef(AliITSv5asymm,1)//Hits manager for ITS version 5 Official detailed 
86                                  //geometry with asymmetric services
87 };
88  
89 #endif