Updates concerning the geometry: versioning system, new V11hybrid version, bug fixes...
[u/mrichter/AliRoot.git] / ITS / AliITSvSSD03.h
1 #ifndef ALIITSVSSD03_H
2 #define ALIITSVSSD03_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ////////////////////////////////////////////////////////////////////////////
7 // ITS step manager and geometry class for the ITS SSD test beam geometry //
8 // of june 2003.                                                          //
9 ////////////////////////////////////////////////////////////////////////////
10 #include "AliITSInitGeometry.h"
11 #include "AliITS.h"
12
13 class AliITSvSSD03 : public AliITS{
14  public:
15     AliITSvSSD03(); // default constructor
16     AliITSvSSD03(const char *title,Int_t geomnum=2003); // standard constructor
17     virtual ~AliITSvSSD03(); // destructor
18     virtual void   BuildGeometry();
19     virtual void   CreateGeometry();
20     virtual void   CreateMaterials();
21     virtual Int_t  IsVersion() const {// returns the ITS version number 
22                                       return (Int_t)kvSSD03;} 
23     virtual void   Init();
24     //virtual void   SetDefaults();
25     virtual void   DrawModule() const;
26     virtual void   StepManager(); 
27     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
28                                                  fGeomDetOut = det;}
29     virtual void   SetWriteDet(const char *f){ // set write file
30                                      strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
31     virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
32                                                 fGeomDetIn = det;}
33     virtual void   SetReadDet(const char *f){ // set read file
34                                        strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
35     virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
36                                                   fEuclidOut = euclid;}
37     virtual void   SetEUCLIDFileName(const char *f){ // set write file
38                              fEuclidGeometry=f;fEuclidOut = kTRUE;}
39     virtual void   SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
40         fMinorVersion = v;}
41     // Replacement default simulation initilization.
42     //virtual void SetDefaultSimulation();
43     //
44   private:
45     void BuildGeometry2003();
46     void CreateGeometry2003();
47     void CreateMaterials2003();
48
49  private:  
50     AliITSvSSD03(const AliITSvSSD03 &source); // Copy constructor
51     AliITSvSSD03& operator=(const AliITSvSSD03 &source); // = operator
52     Bool_t fGeomDetOut;       // Flag to write .det file out
53     Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
54     Int_t  fMajorVersion;     // Major version number == IsVersion
55     Int_t  fMinorVersion;     // Minor version number 
56     Int_t  fGeomNumber;       // Geometry version number (year)
57     char   fEuclidGeomDet[60];// file where detector transormation are define.
58     char   fRead[60];         //! file name to read .det file
59     char   fWrite[60];        //! file name to write .det file 
60     Int_t  fIDMother;         //! ITS Mother Volume id.
61     AliITSInitGeometry fIgm;  //! AliITSInitGeometry object
62
63     ClassDef(AliITSvSSD03,3) // Hits manager and geometry for SSD testbeam
64 };
65 #endif