// Manager and hits classes for ITS version 5
////////////////////////////////////////////////////////////////////////
-
+#include "AliITSInitGeometry.h"
#include "AliITS.h"
class TBRIK;
class AliITSvtest : public AliITS {
-
-public:
- AliITSvtest();
- AliITSvtest(const char *fileeuc,const char *filetme,
- const char *name, const char *title);
- AliITSvtest(const AliITSvtest &source); // copy constructor
- AliITSvtest& operator=(const AliITSvtest &source); // assignment operator
- virtual ~AliITSvtest() ;
- virtual void CreateGeometry();
- virtual void CreateMaterials();
- virtual void Init();
- virtual Int_t IsVersion() const {// returns the ITS version number
- return -1;}
- 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;
+ public:
+ AliITSvtest(); // Default constructor
+ AliITSvtest(const Char_t *title,Int_t version=0); // Standard Constructor
+ // Constructor for Euclid geometries
+ AliITSvtest(const char *fileeuc,const char *filetme,
+ const char *name, const char *title);
+ virtual ~AliITSvtest(); // Destructor
+ void CreateGeometry(); // Create test geometry
+ void CreateMaterials(); // Create test geometry materials
+ void Init(); // Initlizie test geometry for transport
+ Int_t IsVersion() const {// returns the ITS version number
+ return kvtest;}
+ void StepManager(); // Transport step manager
+ void SetWriteDet(Bool_t det=kTRUE){ // set .det write
+ fGeomDetOut = det;}
+ void SetWriteDet(const char *f){ // set write file
+ fWrite=f;fGeomDetOut = kTRUE;}
+ void SetReadDet(Bool_t det=kTRUE){ //set .det read
+ fGeomDetIn = det;}
+ void SetReadDet(const char *f){ // set read file
+ fRead=f;fGeomDetIn = kTRUE;}
+ void SetEUCLIDFileName(const char *f){ // set write file
+ fEuclidGeometry=f;fEuclidOut = kTRUE;}
+ 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
+ Bool_t GetWriteDet() const { // returns value GeomDetOut flag.
+ return fGeomDetOut;}
+ Bool_t GetReadDet() const { // returns value GeomDetIn flag.
+ return fGeomDetIn;}
+ Char_t *GetEULIIDFileName() const{ // return .euc file name
+ return (Char_t*)(fEuclidGeometry.Data());}
+ Char_t *GetReadDetFileName()const{ // return .det read file name
+ if(!fRead.IsNull()) return (Char_t*)(fRead.Data());
+ else return GetEULIIDFileName();}
+ Char_t *GetWriteDetFileName()const{ // return .det write file name
+ if(!fWrite.IsNull()) return (Char_t*)(fWrite.Data());
+ else return GetEULIIDFileName();}
+ Int_t GetMajorVersion() const {// return Major Version Number
return fMajorVersion;}
- virtual Int_t GetMinorVersion(){// return Major Version Number
+ Int_t GetMinorVersion() const {// return Major Version Number
return fMinorVersion;}
+ // Print class in ascii form to stream
+ void PrintAscii(ostream *os)const;
+ // Read in class in ascii form from stream
+ void ReadAscii(istream *is);
- private:
- void InitAliITSgeom();
+ protected:
+ // Units, Convert from k?? to cm,degree,GeV,seconds,
+ static const Double_t fgkmicron; // Convert micron to TGeom's cm.
+ static const Double_t fgkmm; // Convert mm to TGeom's cm.
+ static const Double_t fgkcm; // Convert cm to TGeom's cm.
+ static const Double_t fgkDegree; //Convert degrees to TGeom's degrees
+ static const Double_t fgkRadian; //To Radians
+ static const Double_t fgkgcm3; // Density in g/cm^3
+ static const Double_t fgkCelsius; // Temperature in degrees Celcius
+ static const Double_t fgkPascal; // Preasure in Pascal
+ static const Double_t fgkKPascal; // Preasure in KPascal
+ static const Double_t fgkeV; // Energy in eV
+ static const Double_t fgkKeV; // Energy in KeV
+ static const Double_t fgkMeV; // Energy in MeV
+ static const Double_t fgkGeV; // Energy in GeV
+
+ private:
+ AliITSvtest(const AliITSvtest &source); // copy constructor
+ AliITSvtest& operator=(const AliITSvtest &source); // assignment operator
+ void CreateMaterialsEuclid(); // Create test geometry materials from Euclid
+ void CreateGeometryEuclid(); // Create test geometry Geometry from Euclid
+ void InitEuclid(); // Create test geometry Init for Euclid
+ void CreateMaterials2(); // Create test geometry materials from geometry2
+ void CreateGeometry2(); // Create test geometry Geometry from geometry2
+ void Init2(); // Create test geometry Init for geometry2
// 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(AliITSvtest,1) //Hits manager for ITS test version, Private ITS class for different test geometries
+ 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
+ TString fEuclidGeomDet;// file where detector transormation are define.
+ TString fRead; //! file name to read .det file
+ TString fWrite; //! file name to write .det file
+ AliITSInitGeometry fIgm;//! Geometry initilization object
+
+ ClassDef(AliITSvtest,2) //Hits manager for ITS test version, Private ITS class for different test geometries
};
+// Input and output function for standard C++ input/output.
+ostream &operator<<(ostream &os,const AliITSvtest &s);
+istream &operator>>(istream &is,AliITSvtest &s);
#endif