]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSv5.h
Additional protection in case of very high momentum (Yu.Belikov)
[u/mrichter/AliRoot.git] / ITS / AliITSv5.h
1 #ifndef ALIITSV5_H
2 #define ALIITSV5_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
10 ////////////////////////////////////////////////////////////////////////
11
12
13 #include "AliITS.h"
14
15 class TBRIK;
16 class AliITSv5 : public AliITS {
17
18  public:
19     AliITSv5();
20     AliITSv5(const char *name, const char *title);
21     AliITSv5(const AliITSv5 &source); // copy constructor
22     AliITSv5& operator=(const AliITSv5 &source); // assignment operator  
23     virtual       ~AliITSv5() ;
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 = 1;
48         if(v==1) fMinorVersion = 1;
49         else if(v==2) fMinorVersion = 2;
50         else Warning("SetMinorVersion","Undefined Minor Version setting =1");}
51     virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
52     virtual const char  *GetEULIIDFileName() const{ // return .euc file name
53                                        return fEuclidGeometry.Data();}
54     virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
55                                   return fGeomDetOut;}
56     virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
57                                  return fGeomDetIn;}
58     virtual Bool_t GetReadDetOld() { // returns value GeomDetIn flag.
59                                  return fGeomOldDetIn;}
60     virtual char  *GetReadDetFileName(){ // return .det read file name
61                   if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
62     virtual char  *GetWriteDetFileName(){ // return .det write file name
63                 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
64     virtual Int_t GetMajorVersion(){// return Major Version Number
65         return fMajorVersion;}
66     virtual Int_t GetMinorVersion(){// return Major Version Number
67         return fMinorVersion;}
68
69  private:
70     void InitAliITSgeom();
71
72     // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
73     Bool_t fEuclidOut;        // Flag to write geometry in euclid format
74     Bool_t fGeomDetOut;       // Flag to write .det file out
75     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
76     Bool_t fGeomOldDetIn;     // Flag to read old .det file.
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     ClassDef(AliITSv5,1)//Hits manager for ITS version 5 Official detailed geometry
85 };
86  
87 #endif