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