From fd61896f1b4699dbbe8a11512f3e8b1012a142a8 Mon Sep 17 00:00:00 2001 From: schutz Date: Fri, 3 Nov 2000 16:28:21 +0000 Subject: [PATCH] CPV geometry class to correct previous name-convetion rule violation --- PHOS/AliPHOSCPVGeometry.cxx | 70 ++++++++++++++++++++++++++++ PHOS/AliPHOSCPVGeometry.h | 91 +++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 PHOS/AliPHOSCPVGeometry.cxx create mode 100644 PHOS/AliPHOSCPVGeometry.h diff --git a/PHOS/AliPHOSCPVGeometry.cxx b/PHOS/AliPHOSCPVGeometry.cxx new file mode 100644 index 00000000000..018502ee081 --- /dev/null +++ b/PHOS/AliPHOSCPVGeometry.cxx @@ -0,0 +1,70 @@ +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + +/* + $Log$ +*/ + +//_________________________________________________________________________ +// Geometry class for PHOS : CPV (Charged particle veto, IHEP version) +// +//*-- Author : Yuri Kharlov (IHEP, Protvino) 15 September 2000 +// +// --- ROOT system --- + +// --- Standard library --- + +#include + +// --- AliRoot header files --- + +#include "AliPHOSCPVGeometry.h" + +ClassImp(AliPHOSCPVGeometry) ; + +//____________________________________________________________________________ +AliPHOSCPVGeometry::AliPHOSCPVGeometry() +{ + + // Initializes the CPV parameters + fNumberOfCPVLayers = 1; + fLeadConverterExists = kFALSE; + fNumberOfCPVPadsPhi = 128; + fNumberOfCPVPadsZ = 64; + fCPVPadSizePhi = 1.13; + fCPVPadSizeZ = 2.26; + fNumberOfCPVChipsPhi = 8; + fNumberOfCPVChipsZ = 8; + fCPVGasThickness = 1.3; + fCPVTextoliteThickness = 0.1; + fCPVCuNiFoilThickness = 56e-04;; + fCPVFrameSize[0] = 2.5; + fCPVFrameSize[1] = 5.1; + fCPVFrameSize[2] = 2.5; + fCPVActiveSize[0] = fNumberOfCPVPadsPhi * fCPVPadSizePhi; + fCPVActiveSize[1] = fNumberOfCPVPadsZ * fCPVPadSizeZ; + fCPVBoxSize[0] = fCPVActiveSize[0] + 2 * fCPVFrameSize[0]; + fCPVBoxSize[1] = fCPVFrameSize[1] * fNumberOfCPVLayers + 0.1; + fCPVBoxSize[2] = fCPVActiveSize[1] + 2 * fCPVFrameSize[2]; + fGassiplexChipSize[0] = 4.2; + fGassiplexChipSize[1] = 0.1; + fGassiplexChipSize[2] = 6.0; + fFTPosition[0] = 0.7; + fFTPosition[1] = 2.2; + fFTPosition[2] = 3.6; + fFTPosition[3] = 5.1; +} + +//____________________________________________________________________________ diff --git a/PHOS/AliPHOSCPVGeometry.h b/PHOS/AliPHOSCPVGeometry.h new file mode 100644 index 00000000000..e7df43a8a97 --- /dev/null +++ b/PHOS/AliPHOSCPVGeometry.h @@ -0,0 +1,91 @@ +#ifndef ALIPHOSCPVGEOMETRY_H +#define ALIPHOSCPVGEOMETRY_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* $Id$ */ + +//_________________________________________________________________________ +// Geometry derived class for PHOS:CPV (Charged particle veto, IHEP version) +// +//*-- Author: Yuri Kharlov (IHEP, Protvino) +// 14 September 2000 + +#include + +#include "AliPHOSCPVBaseGeometry.h" + +class AliPHOSCPVGeometry : public AliPHOSCPVBaseGeometry { + +public: + + AliPHOSCPVGeometry(); + virtual ~AliPHOSCPVGeometry(void) {}; + + // CPV functions + + Int_t GetNumberOfCPVLayers(void) const { return fNumberOfCPVLayers; } + Bool_t IsLeadConverterExists(void) const { return fLeadConverterExists; } + Int_t GetNumberOfCPVPadsPhi(void) const { return fNumberOfCPVPadsPhi ; } + Int_t GetNumberOfCPVPadsZ(void) const { return fNumberOfCPVPadsZ ; } + Float_t GetCPVPadSizePhi(void) const { return fCPVPadSizePhi; } + Float_t GetCPVPadSizeZ(void) const { return fCPVPadSizeZ; } + Float_t GetCPVBoxSize(Int_t index) const { return fCPVBoxSize[index]; } + Float_t GetCPVActiveSize(Int_t index) const { return fCPVActiveSize[index]; } + Int_t GetNumberOfCPVChipsPhi(void) const { return fNumberOfCPVChipsPhi; } + Int_t GetNumberOfCPVChipsZ(void) const { return fNumberOfCPVChipsZ; } + Float_t GetGassiplexChipSize(Int_t index) const { return fGassiplexChipSize[index]; } + Float_t GetCPVGasThickness(void) const { return fCPVGasThickness; } + Float_t GetCPVTextoliteThickness(void) const { return fCPVTextoliteThickness; } + Float_t GetCPVCuNiFoilThickness(void) const { return fCPVCuNiFoilThickness; } + Float_t GetFTPosition(Int_t index) const { return fFTPosition[index]; } + Float_t GetCPVFrameSize(Int_t index) const { return fCPVFrameSize[index]; } + + // PPSD functions cannot be used for CPV + + Float_t GetAnodeThickness(void) { AssertPPSD(); return 0; } + Float_t GetAvalancheGap(void) { AssertPPSD(); return 0; } + Float_t GetCathodeThickness(void) { AssertPPSD(); return 0; } + Float_t GetCompositeThickness(void) { AssertPPSD(); return 0; } + Float_t GetConversionGap(void) { AssertPPSD(); return 0; } + Float_t GetLeadConverterThickness(void) { AssertPPSD(); return 0; } + Float_t GetLeadToMicro2Gap(void) { AssertPPSD(); return 0; } + Float_t GetLidThickness(void) { AssertPPSD(); return 0; } + Float_t GetMicromegas1Thickness(void) { AssertPPSD(); return 0; } + Float_t GetMicromegas2Thickness(void) { AssertPPSD(); return 0; } + Float_t GetMicromegasWallThickness(void) { AssertPPSD(); return 0; } + Float_t GetMicro1ToLeadGap(void) { AssertPPSD(); return 0; } + Float_t GetPCThickness(void) { AssertPPSD(); return 0; } + Float_t GetPhiDisplacement(void) { AssertPPSD(); return 0; } + Float_t GetPPSDModuleSize(Int_t index) { AssertPPSD(); return 0; } + Float_t GetZDisplacement(void) { AssertPPSD(); return 0; } + +private: + + Int_t fNumberOfCPVLayers; // Number of CPV identical layers + Bool_t fLeadConverterExists; // kTRUE if the lead converter between CPV layers exists + Int_t fNumberOfCPVPadsPhi; // Number of CPV pads in phi + Int_t fNumberOfCPVPadsZ; // Number of CPV pads in z + Float_t fCPVPadSizePhi; // CPV pad size in phi + Float_t fCPVPadSizeZ; // CPV pad size in z + Float_t fCPVBoxSize[3]; // Outer size of CPV box + Float_t fCPVActiveSize[2]; // Active size of CPV box (x,z) + Int_t fNumberOfCPVChipsPhi; // Number of CPV Gassiplex chips in phi + Int_t fNumberOfCPVChipsZ; // Number of CPV Gassiplex chips in z + Float_t fGassiplexChipSize[3]; // Size of a Gassiplex chip (0 - in z, 1 - in phi, 2 - thickness (in ALICE radius)) + Float_t fCPVGasThickness; // Thickness of CPV gas volume + Float_t fCPVTextoliteThickness; // Thickness of CPV textolite PCB (without foil) + Float_t fCPVCuNiFoilThickness; // Thickness of CPV Copper-Nickel foil of PCB + Float_t fFTPosition[4]; // Positions of the 4 PCB vs the CPV box center + Float_t fCPVFrameSize[3]; // CPV frame size (0 - in phi, 1 - in z, 2 - thickness (along ALICE radius)) + + void AssertPPSD() { + printf("Function %s should not be called for CPV geometry\n",__PRETTY_FUNCTION__); + assert(0==1) ; + } + + ClassDef(AliPHOSCPVGeometry,1) // CPV geometry base class + +} ; + +#endif // AliPHOSCPVGEOMETRY_H -- 2.31.1