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 */
8 //_________________________________________________________________________
9 // Geometry derived class for PHOS:CPV (Charged particle veto, IHEP version)
11 //*-- Author: Yuri Kharlov (IHEP, Protvino)
16 #include "AliPHOSCPVBaseGeometry.h"
18 class AliPHOSCPVGeometry : public AliPHOSCPVBaseGeometry {
23 virtual ~AliPHOSCPVGeometry(void) {};
27 Int_t GetNumberOfCPVLayers(void) const { return fNumberOfCPVLayers; }
28 Bool_t IsLeadConverterExists(void) const { return fLeadConverterExists; }
29 Int_t GetNumberOfCPVPadsPhi(void) const { return fNumberOfCPVPadsPhi ; }
30 Int_t GetNumberOfCPVPadsZ(void) const { return fNumberOfCPVPadsZ ; }
31 Float_t GetCPVPadSizePhi(void) const { return fCPVPadSizePhi; }
32 Float_t GetCPVPadSizeZ(void) const { return fCPVPadSizeZ; }
33 Float_t GetCPVBoxSize(Int_t index) const { return fCPVBoxSize[index]; }
34 Float_t GetCPVActiveSize(Int_t index) const { return fCPVActiveSize[index]; }
35 Int_t GetNumberOfCPVChipsPhi(void) const { return fNumberOfCPVChipsPhi; }
36 Int_t GetNumberOfCPVChipsZ(void) const { return fNumberOfCPVChipsZ; }
37 Float_t GetGassiplexChipSize(Int_t index) const { return fGassiplexChipSize[index]; }
38 Float_t GetCPVGasThickness(void) const { return fCPVGasThickness; }
39 Float_t GetCPVTextoliteThickness(void) const { return fCPVTextoliteThickness; }
40 Float_t GetCPVCuNiFoilThickness(void) const { return fCPVCuNiFoilThickness; }
41 Float_t GetFTPosition(Int_t index) const { return fFTPosition[index]; }
42 Float_t GetCPVFrameSize(Int_t index) const { return fCPVFrameSize[index]; }
44 // PPSD functions cannot be used for CPV
46 Float_t GetAnodeThickness(void) { AssertPPSD(); return 0; }
47 Float_t GetAvalancheGap(void) { AssertPPSD(); return 0; }
48 Float_t GetCathodeThickness(void) { AssertPPSD(); return 0; }
49 Float_t GetCompositeThickness(void) { AssertPPSD(); return 0; }
50 Float_t GetConversionGap(void) { AssertPPSD(); return 0; }
51 Float_t GetLeadConverterThickness(void) { AssertPPSD(); return 0; }
52 Float_t GetLeadToMicro2Gap(void) { AssertPPSD(); return 0; }
53 Float_t GetLidThickness(void) { AssertPPSD(); return 0; }
54 Float_t GetMicromegas1Thickness(void) { AssertPPSD(); return 0; }
55 Float_t GetMicromegas2Thickness(void) { AssertPPSD(); return 0; }
56 Float_t GetMicromegasWallThickness(void) { AssertPPSD(); return 0; }
57 Float_t GetMicro1ToLeadGap(void) { AssertPPSD(); return 0; }
58 Float_t GetPCThickness(void) { AssertPPSD(); return 0; }
59 Float_t GetPhiDisplacement(void) { AssertPPSD(); return 0; }
60 Float_t GetPPSDModuleSize(Int_t index) { AssertPPSD(); return 0; }
61 Float_t GetZDisplacement(void) { AssertPPSD(); return 0; }
65 Int_t fNumberOfCPVLayers; // Number of CPV identical layers
66 Bool_t fLeadConverterExists; // kTRUE if the lead converter between CPV layers exists
67 Int_t fNumberOfCPVPadsPhi; // Number of CPV pads in phi
68 Int_t fNumberOfCPVPadsZ; // Number of CPV pads in z
69 Float_t fCPVPadSizePhi; // CPV pad size in phi
70 Float_t fCPVPadSizeZ; // CPV pad size in z
71 Float_t fCPVBoxSize[3]; // Outer size of CPV box
72 Float_t fCPVActiveSize[2]; // Active size of CPV box (x,z)
73 Int_t fNumberOfCPVChipsPhi; // Number of CPV Gassiplex chips in phi
74 Int_t fNumberOfCPVChipsZ; // Number of CPV Gassiplex chips in z
75 Float_t fGassiplexChipSize[3]; // Size of a Gassiplex chip (0 - in z, 1 - in phi, 2 - thickness (in ALICE radius))
76 Float_t fCPVGasThickness; // Thickness of CPV gas volume
77 Float_t fCPVTextoliteThickness; // Thickness of CPV textolite PCB (without foil)
78 Float_t fCPVCuNiFoilThickness; // Thickness of CPV Copper-Nickel foil of PCB
79 Float_t fFTPosition[4]; // Positions of the 4 PCB vs the CPV box center
80 Float_t fCPVFrameSize[3]; // CPV frame size (0 - in phi, 1 - in z, 2 - thickness (along ALICE radius))
83 printf("Function %s should not be called for CPV geometry\n",__PRETTY_FUNCTION__);
87 ClassDef(AliPHOSCPVGeometry,1) // CPV geometry base class
91 #endif // AliPHOSCPVGEOMETRY_H