]>
Commit | Line | Data |
---|---|---|
fd61896f | 1 | #ifndef ALIPHOSCPVGEOMETRY_H |
2 | #define ALIPHOSCPVGEOMETRY_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 | ||
8 | //_________________________________________________________________________ | |
9 | // Geometry derived class for PHOS:CPV (Charged particle veto, IHEP version) | |
a3dfe79c | 10 | // Its data members provide geometry parametrization of CPV |
11 | // which can be changed in the constructor only. | |
12 | // Author: Yuri Kharlov (IHEP, Protvino) | |
13 | // 7 November 2000 | |
fd61896f | 14 | |
15 | #include <assert.h> | |
16 | ||
17 | #include "AliPHOSCPVBaseGeometry.h" | |
18 | ||
19 | class AliPHOSCPVGeometry : public AliPHOSCPVBaseGeometry { | |
20 | ||
21 | public: | |
22 | ||
23 | AliPHOSCPVGeometry(); | |
24 | virtual ~AliPHOSCPVGeometry(void) {}; | |
25 | ||
26 | // CPV functions | |
27 | ||
a3dfe79c | 28 | virtual Int_t GetNumberOfCPVLayers(void) { return fNumberOfCPVLayers; } |
29 | virtual Bool_t IsLeadConverterExists(void) { return fLeadConverterExists; } | |
30 | virtual Int_t GetNumberOfCPVPadsPhi(void) { return fNumberOfCPVPadsPhi ; } | |
31 | virtual Int_t GetNumberOfCPVPadsZ(void) { return fNumberOfCPVPadsZ ; } | |
32 | virtual Float_t GetCPVPadSizePhi(void) { return fCPVPadSizePhi; } | |
33 | virtual Float_t GetCPVPadSizeZ(void) { return fCPVPadSizeZ; } | |
34 | virtual Float_t GetCPVBoxSize(Int_t index) { return fCPVBoxSize[index]; } | |
35 | virtual Float_t GetCPVActiveSize(Int_t index) { return fCPVActiveSize[index]; } | |
36 | virtual Int_t GetNumberOfCPVChipsPhi(void) { return fNumberOfCPVChipsPhi; } | |
37 | virtual Int_t GetNumberOfCPVChipsZ(void) { return fNumberOfCPVChipsZ; } | |
38 | virtual Float_t GetGassiplexChipSize(Int_t index) { return fGassiplexChipSize[index]; } | |
39 | virtual Float_t GetCPVGasThickness(void) { return fCPVGasThickness; } | |
40 | virtual Float_t GetCPVTextoliteThickness(void) { return fCPVTextoliteThickness; } | |
41 | virtual Float_t GetCPVCuNiFoilThickness(void) { return fCPVCuNiFoilThickness; } | |
42 | virtual Float_t GetFTPosition(Int_t index) { return fFTPosition[index]; } | |
43 | virtual Float_t GetCPVFrameSize(Int_t index) { return fCPVFrameSize[index]; } | |
fd61896f | 44 | |
45 | // PPSD functions cannot be used for CPV | |
46 | ||
a3dfe79c | 47 | virtual Float_t GetAnodeThickness(void) { AssertPPSD("GetAnodeThickness"); return 0; } |
48 | virtual Float_t GetAvalancheGap(void) { AssertPPSD("GetAvalancheGap"); return 0; } | |
49 | virtual Float_t GetCathodeThickness(void) { AssertPPSD("GetCathodeThickness"); return 0; } | |
50 | virtual Float_t GetCompositeThickness(void) { AssertPPSD("GetCompositeThickness"); return 0; } | |
51 | virtual Float_t GetConversionGap(void) { AssertPPSD("GetConversionGap"); return 0; } | |
52 | virtual Float_t GetLeadConverterThickness(void) { AssertPPSD("GetLeadConverterThickness"); return 0; } | |
53 | virtual Float_t GetLeadToMicro2Gap(void) { AssertPPSD("GetLeadToMicro2Gap"); return 0; } | |
54 | virtual Float_t GetLidThickness(void) { AssertPPSD("GetLidThickness"); return 0; } | |
55 | virtual Float_t GetMicromegas1Thickness(void) { AssertPPSD("GetMicromegas1Thickness"); return 0; } | |
56 | virtual Float_t GetMicromegas2Thickness(void) { AssertPPSD("GetMicromegas2Thickness"); return 0; } | |
57 | virtual Float_t GetMicromegasWallThickness(void) { AssertPPSD("GetMicromegasWallThickness"); return 0; } | |
58 | virtual Float_t GetMicro1ToLeadGap(void) { AssertPPSD("GetMicro1ToLeadGap"); return 0; } | |
59 | virtual Float_t GetPCThickness(void) { AssertPPSD("GetPCThickness"); return 0; } | |
60 | virtual Float_t GetPhiDisplacement(void) { AssertPPSD("GetPhiDisplacement"); return 0; } | |
61 | virtual Float_t GetPPSDModuleSize(Int_t index) { AssertPPSD("GetPPSDModuleSize"); return 0; } | |
62 | virtual Float_t GetZDisplacement(void) { AssertPPSD("GetZDisplacement"); return 0; } | |
63 | virtual Int_t GetNumberOfPadsPhi(void) { AssertPPSD("GetNumberOfPadsPhi"); return 0; } | |
64 | virtual Int_t GetNumberOfPadsZ(void) { AssertPPSD("GetNumberOfPadsZ"); return 0; } | |
65 | virtual Int_t GetNumberOfModulesPhi(void) { AssertPPSD("GetNumberOfModulesPhi"); return 0; } | |
66 | virtual Int_t GetNumberOfModulesZ(void) { AssertPPSD("GetNumberOfModulesZ"); return 0; } | |
ed4205d8 | 67 | virtual void SetLeadConverterThickness(Float_t x) { AssertPPSD("SetLeadConverterThickness"); } |
fd61896f | 68 | |
69 | private: | |
70 | ||
71 | Int_t fNumberOfCPVLayers; // Number of CPV identical layers | |
72 | Bool_t fLeadConverterExists; // kTRUE if the lead converter between CPV layers exists | |
73 | Int_t fNumberOfCPVPadsPhi; // Number of CPV pads in phi | |
74 | Int_t fNumberOfCPVPadsZ; // Number of CPV pads in z | |
75 | Float_t fCPVPadSizePhi; // CPV pad size in phi | |
76 | Float_t fCPVPadSizeZ; // CPV pad size in z | |
77 | Float_t fCPVBoxSize[3]; // Outer size of CPV box | |
78 | Float_t fCPVActiveSize[2]; // Active size of CPV box (x,z) | |
79 | Int_t fNumberOfCPVChipsPhi; // Number of CPV Gassiplex chips in phi | |
80 | Int_t fNumberOfCPVChipsZ; // Number of CPV Gassiplex chips in z | |
81 | Float_t fGassiplexChipSize[3]; // Size of a Gassiplex chip (0 - in z, 1 - in phi, 2 - thickness (in ALICE radius)) | |
82 | Float_t fCPVGasThickness; // Thickness of CPV gas volume | |
83 | Float_t fCPVTextoliteThickness; // Thickness of CPV textolite PCB (without foil) | |
84 | Float_t fCPVCuNiFoilThickness; // Thickness of CPV Copper-Nickel foil of PCB | |
85 | Float_t fFTPosition[4]; // Positions of the 4 PCB vs the CPV box center | |
86 | Float_t fCPVFrameSize[3]; // CPV frame size (0 - in phi, 1 - in z, 2 - thickness (along ALICE radius)) | |
87 | ||
a3dfe79c | 88 | void AssertPPSD(char* name) { |
89 | printf("Function AliCPVGeometry::%s should not be called for CPV geometry\n",name); | |
fd61896f | 90 | assert(0==1) ; |
91 | } | |
92 | ||
93 | ClassDef(AliPHOSCPVGeometry,1) // CPV geometry base class | |
94 | ||
95 | } ; | |
96 | ||
97 | #endif // AliPHOSCPVGEOMETRY_H |