]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv3.h
The split level of branches is set to 99
[u/mrichter/AliRoot.git] / ITS / AliITSv3.h
index 3664876299209d8ee8d1484ca662d227a375b8f1..fff2d79ace2b9af21d5f8eb7639406abb304543a 100644 (file)
 /////////////////////////////////////////////////////////
  
 #include "AliITS.h"
-#include "AliITSgeom.h"
+
 class AliITSv3 : public AliITS {
 
-private:
-    Int_t fId3N; // The number of layers for geometry version 5
-    // The name of the layers as defined in the Geant tree.
-    char  **fId3Name;
+ public:
+    AliITSv3();
+    AliITSv3(const char *name, const char *title);
+    AliITSv3(const AliITSv3 &source); // copy constructor
+    AliITSv3& operator=(const AliITSv3 &source); // assignment operator
+    virtual       ~AliITSv3() ;
+    virtual void   BuildGeometry();
+    virtual void   CreateGeometry();
+    virtual void   CreateMaterials();
+    virtual void   Init();   
+    virtual Int_t  IsVersion() const {
+      // returns the ITS version number 
+      return 3;
+    }
+    virtual void   StepManager();
+    virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
+                                                fGeomDetOut = det;}
+    virtual void   SetWriteDet(const char *f){ // set write file
+                                    strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
+    virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
+                                               fGeomDetIn = det;}
+    virtual void   SetReadDet(const char *f){ // set read file
+                                      strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
+    virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
+                                                 fEuclidOut = euclid;}
+    virtual void   SetEUCLIDFileName(const char *f){ // set write file
+                            fEuclidGeometry=f;fEuclidOut = kTRUE;}
+    virtual void   SetMinorVersion(Int_t v){ // Choose between existing minor versions
+       fMinorVersion = 1;
+       if(v==1) fMinorVersion = 1;
+       else if(v==2) fMinorVersion = 2;
+       else Warning("SetMinorVersion","Undefined Minor Version setting =1");}
+    virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
+    virtual const char  *GetEULIIDFileName() const{ // return .euc file name
+                                      return fEuclidGeometry.Data();}
+    virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
+                                 return fGeomDetOut;}
+    virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
+                                return fGeomDetIn;}
+    virtual char  *GetReadDetFileName(){ // return .det read file name
+                 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
+    virtual char  *GetWriteDetFileName(){ // return .det write file name
+               if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
+    virtual Int_t GetMajorVersion(){// return Major Version Number
+       return fMajorVersion;}
+    virtual Int_t GetMinorVersion(){// return Major Version Number
+       return fMinorVersion;}
 
-protected:
-  Int_t fMinorVersionV3;  //Minor version identifier
-public:
-   AliITSv3();
-   AliITSv3(const char *name, const char *title);
-   virtual       ~AliITSv3() ;
-   virtual void   CreateGeometry();
-   virtual void   CreateMaterials();
-   virtual void   Init();   
-   virtual Int_t  IsVersion() const {return 3;}
-   virtual void   SetMinorVersion(Int_t version) {fMinorVersionV3=version;}
-   virtual void   StepManager();
+ private:
+    void InitAliITSgeom();
+
+    // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
+    Bool_t fEuclidOut;        // Flag to write geometry in euclid format
+    Bool_t fGeomDetOut;       // Flag to write .det file out
+    Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
+    Int_t  fMajorVersion;     // Major version number == IsVersion
+    Int_t  fMinorVersion;     // Minor version number
+    char   fEuclidGeomDet[60];// file where detector transormation are define.
+    char   fRead[60];         //! file name to read .det file
+    char   fWrite[60];        //! file name to write .det file
    
-   ClassDef(AliITSv3,1)  //Hits manager for set:ITS version 3, TP detailed geometry
+    ClassDef(AliITSv3,1)//Hits manager for set:ITS version 3, TP detailed geometry
 };
  
 #endif