Line data Source code
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)
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
14 :
15 : //#include "AliPHOSCPVBaseGeometry.h"
16 : #include "TObject.h"
17 :
18 0 : class AliPHOSCPVGeometry : public TObject {
19 :
20 : public:
21 :
22 : AliPHOSCPVGeometry();
23 0 : virtual ~AliPHOSCPVGeometry(void) {};
24 :
25 : // CPV functions
26 :
27 0 : virtual Int_t GetNumberOfCPVLayers(void) const { return fNumberOfCPVLayers; }
28 14 : virtual Int_t GetNumberOfCPVPadsPhi(void) const { return fNumberOfCPVPadsPhi ; }
29 14 : virtual Int_t GetNumberOfCPVPadsZ(void) const { return fNumberOfCPVPadsZ ; }
30 6 : virtual Float_t GetCPVPadSizePhi(void) const { return fCPVPadSizePhi; }
31 6 : virtual Float_t GetCPVPadSizeZ(void) const { return fCPVPadSizeZ; }
32 46 : virtual Float_t GetCPVBoxSize(Int_t index) const { return fCPVBoxSize[index]; }
33 0 : virtual Float_t GetCPVActiveSize(Int_t index) const { return fCPVActiveSize[index]; }
34 0 : virtual Int_t GetNumberOfCPVChipsPhi(void) const { return fNumberOfCPVChipsPhi; }
35 0 : virtual Int_t GetNumberOfCPVChipsZ(void) const { return fNumberOfCPVChipsZ; }
36 0 : virtual Float_t GetGassiplexChipSize(Int_t index) const { return fGassiplexChipSize[index]; }
37 0 : virtual Float_t GetCPVGasThickness(void) const { return fCPVGasThickness; }
38 0 : virtual Float_t GetCPVTextoliteThickness(void) const { return fCPVTextoliteThickness; }
39 0 : virtual Float_t GetCPVCuNiFoilThickness(void) const { return fCPVCuNiFoilThickness; }
40 0 : virtual Float_t GetFTPosition(Int_t index) const { return fFTPosition[index]; }
41 0 : virtual Float_t GetCPVFrameSize(Int_t index) const { return fCPVFrameSize[index]; }
42 :
43 :
44 : private:
45 :
46 : Int_t fNumberOfCPVLayers; // Number of CPV identical layers
47 : Int_t fNumberOfCPVPadsPhi; // Number of CPV pads in phi
48 : Int_t fNumberOfCPVPadsZ; // Number of CPV pads in z
49 : Float_t fCPVPadSizePhi; // CPV pad size in phi
50 : Float_t fCPVPadSizeZ; // CPV pad size in z
51 : Float_t fCPVBoxSize[3]; // Outer size of CPV box
52 : Float_t fCPVActiveSize[2]; // Active size of CPV box (x,z)
53 : Int_t fNumberOfCPVChipsPhi; // Number of CPV Gassiplex chips in phi
54 : Int_t fNumberOfCPVChipsZ; // Number of CPV Gassiplex chips in z
55 : Float_t fGassiplexChipSize[3]; // Size of a Gassiplex chip (0 - in z, 1 - in phi, 2 - thickness (in ALICE radius))
56 : Float_t fCPVGasThickness; // Thickness of CPV gas volume
57 : Float_t fCPVTextoliteThickness; // Thickness of CPV textolite PCB (without foil)
58 : Float_t fCPVCuNiFoilThickness; // Thickness of CPV Copper-Nickel foil of PCB
59 : Float_t fFTPosition[4]; // Positions of the 4 PCB vs the CPV box center
60 : Float_t fCPVFrameSize[3]; // CPV frame size (0 - in phi, 1 - in z, 2 - thickness (along ALICE radius))
61 :
62 :
63 46 : ClassDef(AliPHOSCPVGeometry,2) // CPV geometry base class
64 :
65 : } ;
66 :
67 : #endif // AliPHOSCPVGEOMETRY_H
|