]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMDv2008.h
bug fixed for alignment, removed alignment database access from AliPMDUtility class
[u/mrichter/AliRoot.git] / PMD / AliPMDv2008.h
1 #ifndef ALIPMDV2008_H
2 #define ALIPMDV2008_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliPMDv1.h 15401 2006-10-18 18:49:59Z bnandi $ */
7 // Rectangular geometry - Bedanga Mohanty - Spetember 2003
8
9 ////////////////////////////////////////////////
10 //  Manager and hits classes for set:PMD      //
11 ////////////////////////////////////////////////
12  
13 #include "AliPMD.h"
14 #include "TGeoManager.h"
15 //___________________________________________
16  
17 class AliPMDv2008 : public AliPMD {
18   
19 public:
20   AliPMDv2008();
21   AliPMDv2008(const char *name, const char *title);
22   virtual      ~AliPMDv2008() {}
23   virtual void  CreateGeometry();
24   virtual void  CreatePMD();
25   virtual void  CreateSupermodule();
26   virtual void  GetParameters();
27   virtual void  CreateMaterials();
28   virtual void  Init();
29   virtual Int_t IsVersion() const {return 1;}
30   virtual void  StepManager();
31   virtual void  DrawModule() const;
32   virtual void  AddAlignableVolumes() const;
33   void          SetSectorAlignable() const;
34
35 private:
36
37   static const Int_t   fgkNcolUM1;  // Number of cols in UM, type 1
38   static const Int_t   fgkNcolUM2;  // Number of cols in UM, type 2
39   static const Int_t   fgkNrowUM1;  // Number of rows in UM, type 1
40   static const Int_t   fgkNrowUM2;  // Number of rows in UM, type 2
41   static const Float_t fgkCellRadius;    // Radius of a hexagonal cell
42   static const Float_t fgkCellWall;      // Thickness of cell Wall
43   static const Float_t fgkCellDepth;     // Gas thickness
44   static const Float_t fgkThBKP;      // Thickness of Back plane
45   static const Float_t fgkThBase;        // Thickness of Base plate
46   static const Float_t fgkThAir;         // Thickness of Air
47   static const Float_t fgkThPCB;         // Thickness of PCB
48   static const Float_t fgkThLead;        // Thickness of Pb
49   static const Float_t fgkThSteel;       // Thickness of Steel
50   static const Float_t fgkGap;           // Air Gap
51   static const Float_t fgkZdist;         // z-position of the detector
52   static const Float_t fgkSqroot3;       // Square Root of 3
53   static const Float_t fgkSqroot3by2;    // Square Root of 3 by 2
54   static const Float_t fgkSSBoundary;
55   static const Float_t fgkThSS ;
56   static const Float_t fgkThG10 ;
57
58
59   Float_t fSMthick;     // Thickness of the supermodule
60   Float_t fDthick;     // Thickness of the pre/veto module
61   Float_t fSMLengthax;  // Supermodule length along X, type A
62   Float_t fSMLengthay;  // Supermodule length along Y, type A
63   Float_t fSMLengthbx;  // Supermodule length along X, type B
64   Float_t fSMLengthby;  // Supermodule length along Y, type A
65   Int_t   fMedSens;     // Sensitive Medium Ar+CO2
66   Float_t fDboxmm1[3];  // Master MODULE EMPA of aluminum for PMD
67   Float_t fDboxmm12[3]; // Master MODULE EMCA of aluminum for CPV
68   Float_t fDboxmm2[3];  // Master MODULE EMPB of aluminum for PMD
69   Float_t fDboxmm22[3]; // Master MODULE EMCB of aluminum for CPV
70  
71   ClassDef(AliPMDv2008,0)     //Hits manager for set:PMD
72 };
73  
74 #endif