]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMDv1.h
ZDC automatic scripts updates (Marco Leoncino) + updates in QA config
[u/mrichter/AliRoot.git] / PMD / AliPMDv1.h
1 #ifndef ALIPMDV1_H
2 #define ALIPMDV1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
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 AliPMDv1 : public AliPMD {
18   
19 public:
20   AliPMDv1();
21   AliPMDv1(const char *name, const char *title);
22   virtual      ~AliPMDv1() {}
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  AddAlignableVolumes() const;
32   void          SetSectorAlignable() const;
33   void          SetCpvOff();
34   void          SetPreOff();
35   void          SetModuleOff(Int_t imodule);
36
37 private:
38
39   static const Int_t   fgkNcolUM1;  // Number of cols in UM, type 1
40   static const Int_t   fgkNcolUM2;  // Number of cols in UM, type 2
41   static const Int_t   fgkNrowUM1;  // Number of rows in UM, type 1
42   static const Int_t   fgkNrowUM2;  // Number of rows in UM, type 2
43   static const Float_t fgkCellRadius;    // Radius of a hexagonal cell
44   static const Float_t fgkCellWall;      // Thickness of cell Wall
45   static const Float_t fgkCellDepth;     // Gas thickness
46   static const Float_t fgkThPCB;         // Thickness of PCB
47   static const Float_t fgkThLead;        // Thickness of Pb
48   static const Float_t fgkThSteel;       // Thickness of Steel
49   static const Float_t fgkGap;           // Air Gap
50   static const Float_t fgkZdist;         // z-position of the detector
51   static const Float_t fgkSqroot3;       // Square Root of 3
52   static const Float_t fgkSqroot3by2;    // Square Root of 3 by 2
53   static const Float_t fgkSSBoundary;
54   static const Float_t fgkThSS ;
55   static const Float_t fgkThTopG10;
56   static const Float_t fgkThBotG10;
57
58   Int_t   fModStatus[48];
59
60   Float_t fSMthick;     // Thickness of the full PMD profile
61   Float_t fSMthickpmd;  // Thickness of the PMD detector only
62   Float_t fDthick;      // Thickness of the pre/veto module
63   Float_t fSMLengthax;  // Supermodule length along X, type A
64   Float_t fSMLengthay;  // Supermodule length along Y, type A
65   Float_t fSMLengthbx;  // Supermodule length along X, type B
66   Float_t fSMLengthby;  // Supermodule length along Y, type A
67   Int_t   fMedSens;     // Sensitive Medium Ar+CO2
68   Float_t fDboxmm1[3];  // Master MODULE EMPA of aluminum for PMD
69   Float_t fDboxmm12[3]; // Master MODULE EMCA of aluminum for CPV
70   Float_t fDboxmm2[3];  // Master MODULE EMPB of aluminum for PMD
71   Float_t fDboxmm22[3]; // Master MODULE EMCB of aluminum for CPV
72
73  
74   ClassDef(AliPMDv1,4)     //Hits manager for set:PMD
75 };
76  
77 #endif