25c760be7deb648d6dcd40b4de4b5c859cdd0b9d
[u/mrichter/AliRoot.git] / ITS / AliITSvPPRasymm.h
1 #ifndef ALIITSVPPRASYMM_H
2 #define ALIITSVPPRASYMM_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 set: ITS version 6    //
10 /////////////////////////////////////////////////////////
11  
12 #include "AliITS.h"
13  
14 class AliITSvPPRasymm : public AliITS {
15
16  public:
17     AliITSvPPRasymm();
18     AliITSvPPRasymm(const char *name, const char *title);
19     AliITSvPPRasymm(const AliITSvPPRasymm &source); // copy constructor
20     AliITSvPPRasymm& operator=(const AliITSvPPRasymm &source); // assignment operator
21     virtual       ~AliITSvPPRasymm() ;
22     virtual void   BuildGeometry();
23     virtual void   CreateGeometry();
24     virtual void   CreateMaterials();
25     virtual void   Init(); 
26     virtual Int_t  IsVersion() const {// returns the ITS version number 
27                                       return 8;} 
28     virtual void   DrawModule();
29     virtual void   StepManager();
30     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
31                                                  fGeomDetOut = det;}
32     virtual void   SetWriteDet(const char *f){ // set write file
33                                      strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
34     virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
35                                                 fGeomDetIn = det;}
36     virtual void   SetReadDet(const char *f){ // set read file
37                                        strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
38     virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
39                                                   fEuclidOut = euclid;}
40     virtual void   SetEUCLIDFileName(const char *f){ // set write file
41                              fEuclidGeometry=f;fEuclidOut = kTRUE;}
42     virtual void   SetMinorVersion(Int_t v){ // Choose between existing minor versions
43         fMinorVersion = 1;
44         if(v==1) fMinorVersion = 1;
45         else if(v==2) fMinorVersion = 2;
46         else Warning("SetMinorVersion","Undefined Minor Version setting =1");}
47     virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
48     virtual const char  *GetEULIIDFileName() const{ // return .euc file name
49                                        return fEuclidGeometry.Data();}
50     virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
51                                   return fGeomDetOut;}
52     virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
53                                  return fGeomDetIn;}
54     virtual char  *GetReadDetFileName(){ // return .det read file name
55                   if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
56     virtual char  *GetWriteDetFileName(){ // return .det write file name
57                 if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
58     virtual Int_t GetMajorVersion(){// return Major Version Number
59         return fMajorVersion;}
60     virtual Int_t GetMinorVersion(){// return Major Version Number
61         return fMinorVersion;}
62
63  private:
64     void InitAliITSgeom();
65
66     // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
67     Bool_t fEuclidOut;        // Flag to write geometry in euclid format
68     Bool_t fGeomDetOut;       // Flag to write .det file out
69     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
70     Int_t  fMajorVersion;     // Major version number == IsVersion
71     Int_t  fMinorVersion;     // Minor version number
72     char   fEuclidGeomDet[60];// file where detector transormation are define.
73     char   fRead[60];         //! file name to read .det file
74     char   fWrite[60];        //! file name to write .det file
75
76     ClassDef(AliITSvPPRasymm,1)  //Hits manager for set:ITS version 8 
77                                  // PPR detailed Geometry asymmetric
78 };
79  
80 #endif