// Manager and hits classes for ITS version 5
////////////////////////////////////////////////////////////////////////
-#include <TString.h>
#include "AliITS.h"
+class TBRIK;
class AliITSv5 : public AliITS {
- private:
- Int_t fId5N; // The number of layers for geometry version 5
- // The name of the layers as defined in the Geant tree.
- char **fId5Name;
public:
AliITSv5();
AliITSv5(const char *name, const char *title);
+ AliITSv5(const AliITSv5 &source); // copy constructor
+ AliITSv5& operator=(const AliITSv5 &source); // assignment operator
virtual ~AliITSv5() ;
- virtual void BuildGeometry(); // for event display
- virtual void CreateGeometry(); // for Geant simulation
- virtual void CreateMaterials(); // for Geant simulation
- virtual void Init();
- virtual Int_t IsVersion() const {return 5;}
+ virtual void BuildGeometry();
+ virtual void CreateGeometry();
+ virtual void CreateMaterials();
+ virtual void Init();
+ virtual Int_t IsVersion() const { // returns the ITS version number
+ return 5;}
virtual void StepManager();
-
+ void ReadOldGeometry(const char *filename);
+ 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 SetReadOldDet(Bool_t det=kTRUE){ //set .det read
+ fGeomOldDetIn = 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 Bool_t GetReadDetOld() { // returns value GeomDetIn flag.
+ return fGeomOldDetIn;}
+ 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;}
+
+ 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.
+ Bool_t fGeomOldDetIn; // Flag to read old .det file.
+ 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(AliITSv5,1)//Hits manager for ITS version 5 Official detailed geometry
};