]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSvSDD03.h
moved component registration to agent; added component configuration/initialization...
[u/mrichter/AliRoot.git] / ITS / AliITSvSDD03.h
index e4ead32ccb2875f4c0cee73654174ed1d18cae3d..5b2a9c74abf71902d2843f57e5c089a0d111ab31 100644 (file)
@@ -6,26 +6,37 @@
   $Id$
 */
 // ITS step manager and geometry class for the ITS SDD test beam geometry
-// of Summer 2002.
-
+// of Summer 2003 and later.
+// At present, the geometry and materials need to be checked against the
+// proper geometry of the 2003 test beam. In addition, because the SSD
+// used in the test beam are single sided, the second side needs be ignored.
+// This can cause some problems with the SSD reconstruction code.
+#include "AliITSInitGeometry.h"
 #include "AliITS.h"
 
+typedef enum {
+  kNoTarg=0,kIron=4,kLead,kSteel,
+  kCarbon=8,kAl,kBe,kTi,kSn,kCopper,kGe,kTungsten=19
+} TargTyp_t;
+
 class AliITSvSDD03 : public AliITS{
  public:
     AliITSvSDD03(); // default constructor
     AliITSvSDD03(const char *title,Int_t year); // standard constructor
-    AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor
-    AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator
     virtual ~AliITSvSDD03(); // destructor
     virtual void   BuildGeometry();
     virtual void   CreateGeometry();
     virtual void   CreateMaterials();
     virtual Int_t  IsVersion() const {// returns the ITS version number 
-                                      return 1;} 
+                                      return (Int_t)kvSDD03;} 
     virtual void   Init(); 
-    virtual void   SetDefaults();
-    virtual void   DrawModule();
+    //virtual void   SetDefaults();
+    virtual void   DrawModule() const;
     virtual void   StepManager(); 
+    virtual void   SetTargMat(TargTyp_t tt=kNoTarg){ // set target material 
+                                                 fTarg=tt;}    
+    virtual void   SetTargThick(Float_t th=1){ // set target thickness 
+                                                 fTargThick=th;}    
     virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
                                                  fGeomDetOut = det;}
     virtual void   SetWriteDet(const char *f){ // set write file
@@ -34,43 +45,34 @@ class AliITSvSDD03 : public AliITS{
                                                 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=22){ // Choose between existing minor versions
-        fMinorVersion = v;} 
-    virtual void   SetThicknessDet1(Float_t v=300.){
-         // Set detector thickness in layer 1
-         fDet1 = v;}
-    virtual void   SetThicknessDet2(Float_t v=300.){
-         // Set detector thickness in layer 2
-         fDet2 = v;}
-    virtual void   SetThicknessChip1(Float_t v=300.){
-         // Set chip thickness in layer 1
-         fChip1 = v;}
-    virtual void   SetThicknessChip2(Float_t v=300.){
-         // Set chip thickness in layer 2
-         fChip2 = v;}
+        fMinorVersion = v;}
     // Replacement default simulation initilization.
-    virtual void SetDefaultSimulation();
+    //virtual void SetDefaultSimulation();
+    TargTyp_t GetTargMat() const {return fTarg;}
+    // Decodes the id and copy nuber to give the layer, ladder, and detector 
+    // numbers . Returns the module number.
+    //virtual Int_t DecodeDetector(Int_t id,Int_t cpy,Int_t &lay,
+    //                             Int_t &lad,Int_t &det) const;
          //
  private:  
-    void InitAliITSgeom();
+    AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor
+    AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator
     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 
-    Float_t  fDet1;           // thickness of detector in SDD layer 1
-    Float_t  fDet2;           // thickness of detector in SDD layer 2
-    Float_t  fChip1;          // thickness of chip in SDD layer 1
-    Float_t  fChip2;          // thickness of chip in SDD layer 2 
+    char   fWrite[60];        //! file name to write .det file
     Int_t fIDMother;          //! ITS Mother Volume id.
-    Int_t fYear;              //
+    Int_t fYear;              // Year flag to select different geometries.
+    TargTyp_t fTarg;          // Target material
+    Float_t fTargThick;       // TargetThickness in mm
+    AliITSInitGeometry fIgm;  //! Get Access to decoding an dAliITSgeom init functions
 
-    ClassDef(AliITSvSDD03,1) // Hits manager and geometry for SDD testbeam
+    ClassDef(AliITSvSDD03,3) // Hits manager and geometry for SDD testbeam
 };
 #endif