/////////////////////////////////////////////////////////
#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