Line data Source code
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 78 : 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 0 : 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 148 : ClassDef(AliPMDv1,4) //Hits manager for set:PMD
75 : };
76 :
77 : #endif
|