// Modified: Yuri Kharlov (IHEP, Protvino)
// 15 September 2000
-#include <assert.h>
-
// --- ROOT system ---
#include "TObject.h"
class TObjArray ;
public:
- AliPHOSEMCAGeometry();
- AliPHOSEMCAGeometry(const AliPHOSEMCAGeometry & cpv) {
- // cpy ctor requested by Coding Convention but not yet needed
- assert(0==1) ;
- }
- virtual ~AliPHOSEMCAGeometry(void) {}
+ AliPHOSEMCAGeometry();
+ //Compiler-generated copy ctor and copy-assignment operator _ARE_ OK.
- AliPHOSEMCAGeometry & operator = (const AliPHOSEMCAGeometry & rvalue) {
- // assignement operator requested by coding convention but not needed
- assert(0==1) ;
- return *this ;
- }
-
- Float_t * GetStripHalfSize() {return fStripHalfSize ;}
- Float_t * GetAirCellHalfSize() {return fAirCellHalfSize ;}
- Float_t * GetWrappedHalfSize() {return fWrappedHalfSize ;}
- Float_t GetAirGapLed() const {return fAirGapLed ;}
- Float_t * GetCrystalHalfSize() {return fCrystalHalfSize ;}
- Float_t * GetSupportPlateHalfSize() { return fSupportPlateHalfSize ;}
- Float_t * GetSupportPlateInHalfSize() {return fSupportPlateInHalfSize ;}
- Float_t GetSupportPlateThickness(void) const { return fSupportPlateThickness ; }
-
- Float_t * GetPreampHalfSize() {return fPreampHalfSize ;}
- Float_t * GetAPDHalfSize(void) {return fPinDiodeHalfSize ; }
- Float_t * GetOuterThermoParams(void) {return fOuterThermoParams ; }
- Float_t * GetCoolerHalfSize(void) {return fCoolerHalfSize ;}
- Float_t * GetAirGapHalfSize(void) {return fAirGapHalfSize; }
- Float_t * GetInnerThermoHalfSize(void) {return fInnerThermoHalfSize ; }
- Float_t * GetAlCoverParams() {return fAlCoverParams ; }
- Float_t * GetFiberGlassHalfSize() {return fFiberGlassHalfSize ; }
- Float_t * GetWarmAlCoverHalfSize() {return fWarmAlCoverHalfSize ;}
- Float_t * GetWarmThermoHalfSize() {return fWarmThermoHalfSize ;}
- Float_t * GetTSupport1HalfSize() {return fTSupport1HalfSize ;}
- Float_t * GetTSupport2HalfSize() {return fTSupport2HalfSize ;}
- Float_t * GetTCables1HalfSize() {return fTCables1HalfSize ; }
- Float_t * GetTCables2HalfSize() {return fTCables2HalfSize ; }
- Float_t GetTSupportDist() {return fTSupportDist ; }
- Float_t * GetFrameXHalfSize() {return fFrameXHalfSize ;}
- Float_t * GetFrameZHalfSize() {return fFrameZHalfSize ;}
- Float_t * GetFrameXPosition() {return fFrameXPosition ;}
- Float_t * GetFrameZPosition() {return fFrameZPosition ;}
- Float_t * GetFGupXHalfSize() {return fFGupXHalfSize ; }
- Float_t * GetFGupXPosition() {return fFGupXPosition ; }
- Float_t * GetFGupZHalfSize() {return fFGupZHalfSize ; }
- Float_t * GetFGupZPosition() {return fFGupZPosition ; }
- Float_t * GetFGlowXHalfSize() {return fFGlowXHalfSize ; }
- Float_t * GetFGlowXPosition() {return fFGlowXPosition ; }
- Float_t * GetFGlowZHalfSize() {return fFGlowZHalfSize ; }
- Float_t * GetFGlowZPosition() {return fFGlowZPosition ; }
- Float_t * GetFEEAirHalfSize() {return fFEEAirHalfSize ; }
- Float_t * GetFEEAirPosition() {return fFEEAirPosition ; }
- Float_t * GetEMCParams() {return fEMCParams ;}
-
- Float_t GetIPtoCrystalSurface(void) const {
- return fIPtoCrystalSurface ; }
- Float_t GetIPtoOuterCoverDistance(void) const {
- return fIPtoOuterCoverDistance ; }
- Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; }
-
-
- Int_t GetNCellsInStrip() const { return fNCellsInStrip;}
- Int_t GetNStripX() const { return fNStripX ; }
- Int_t GetNStripZ() const { return fNStripZ ; }
- Int_t GetNTSuppots() const { return fNTSupports; }
- Int_t GetNPhi(void) const { return fNPhi ; }
- Int_t GetNZ(void) const { return fNZ ; }
+ virtual ~AliPHOSEMCAGeometry(void) {}
+ const Float_t * GetStripHalfSize() const {return fStripHalfSize ; }
+ Float_t GetStripWallWidthOut() const {return fStripWallWidthOut ; }
+ const Float_t * GetAirCellHalfSize() const {return fAirCellHalfSize ; }
+ const Float_t * GetWrappedHalfSize() const {return fWrappedHalfSize ; }
+ Float_t GetAirGapLed() const {return fAirGapLed ; }
+ const Float_t * GetCrystalHalfSize() const {return fCrystalHalfSize ; }
+ const Float_t * GetSupportPlateHalfSize() const {return fSupportPlateHalfSize ; }
+ const Float_t * GetSupportPlateInHalfSize() const {return fSupportPlateInHalfSize ;}
+ Float_t GetSupportPlateThickness() const { return fSupportPlateThickness ;}
+
+ const Float_t * GetPreampHalfSize() const {return fPreampHalfSize ; }
+ const Float_t * GetAPDHalfSize() const {return fPinDiodeHalfSize ; }
+ const Float_t * GetOuterThermoParams() const {return fOuterThermoParams ; }
+ const Float_t * GetCoolerHalfSize() const {return fCoolerHalfSize ; }
+ const Float_t * GetAirGapHalfSize() const {return fAirGapHalfSize; }
+ const Float_t * GetInnerThermoHalfSize() const {return fInnerThermoHalfSize ; }
+ const Float_t * GetAlCoverParams() const {return fAlCoverParams ; }
+ const Float_t * GetFiberGlassHalfSize() const {return fFiberGlassHalfSize ; }
+ const Float_t * GetWarmAlCoverHalfSize() const {return fWarmAlCoverHalfSize ; }
+ const Float_t * GetWarmThermoHalfSize() const {return fWarmThermoHalfSize ; }
+ const Float_t * GetTSupport1HalfSize() const {return fTSupport1HalfSize ; }
+ const Float_t * GetTSupport2HalfSize() const {return fTSupport2HalfSize ; }
+ const Float_t * GetTCables1HalfSize() const {return fTCables1HalfSize ; }
+ const Float_t * GetTCables2HalfSize() const {return fTCables2HalfSize ; }
+ Float_t GetTSupportDist() const {return fTSupportDist ; }
+ const Float_t * GetFrameXHalfSize() const {return fFrameXHalfSize ; }
+ const Float_t * GetFrameZHalfSize() const {return fFrameZHalfSize ; }
+ const Float_t * GetFrameXPosition() const {return fFrameXPosition ; }
+ const Float_t * GetFrameZPosition() const {return fFrameZPosition ; }
+ const Float_t * GetFGupXHalfSize() const {return fFGupXHalfSize ; }
+ const Float_t * GetFGupXPosition() const {return fFGupXPosition ; }
+ const Float_t * GetFGupZHalfSize() const {return fFGupZHalfSize ; }
+ const Float_t * GetFGupZPosition() const {return fFGupZPosition ; }
+ const Float_t * GetFGlowXHalfSize() const {return fFGlowXHalfSize ; }
+ const Float_t * GetFGlowXPosition() const {return fFGlowXPosition ; }
+ const Float_t * GetFGlowZHalfSize() const {return fFGlowZHalfSize ; }
+ const Float_t * GetFGlowZPosition() const {return fFGlowZPosition ; }
+ const Float_t * GetFEEAirHalfSize() const {return fFEEAirHalfSize ; }
+ const Float_t * GetFEEAirPosition() const {return fFEEAirPosition ; }
+ const Float_t * GetEMCParams() const {return fEMCParams ; }
+
+ Float_t GetIPtoCrystalSurface() const {return fIPtoCrystalSurface ; }
+ Float_t GetIPtoOuterCoverDistance() const {return fIPtoOuterCoverDistance;}
+ Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; }
+
+ Int_t GetNCellsXInStrip() const { return fNCellsXInStrip;}
+ Int_t GetNCellsZInStrip() const { return fNCellsZInStrip;}
+ Int_t GetNStripX() const { return fNStripX ; }
+ Int_t GetNStripZ() const { return fNStripZ ; }
+ Int_t GetNTSuppots() const { return fNTSupports; }
+ Int_t GetNPhi() const { return fNPhi ; }
+ Int_t GetNZ() const { return fNZ ; }
private:
- Float_t fStripHalfSize[3] ;
- Float_t fAirCellHalfSize[3] ;
- Float_t fWrappedHalfSize[3] ;
- Float_t fSupportPlateHalfSize[3] ;
- Float_t fSupportPlateInHalfSize[3] ;
- Float_t fCrystalHalfSize[3] ;
- Float_t fAirGapLed ;
- Float_t fStripWallWidthOut ; // Side to another strip
- Float_t fStripWallWidthIn ;
- Float_t fTyvecThickness ;
- Float_t fTSupport1HalfSize[3] ;
- Float_t fTSupport2HalfSize[3] ;
- Float_t fPreampHalfSize[3] ;
- Float_t fPinDiodeHalfSize[3] ; // Size of the PIN Diode
-
- Float_t fOuterThermoParams[4] ;
- Float_t fCoolerHalfSize[3] ;
- Float_t fAirGapHalfSize[3] ;
- Float_t fInnerThermoHalfSize[3] ;
- Float_t fAlCoverParams[4] ;
- Float_t fFiberGlassHalfSize[3] ;
-
-
- Float_t fInnerThermoWidthX ;
- Float_t fInnerThermoWidthY ;
- Float_t fInnerThermoWidthZ ;
- Float_t fAirGapWidthX ;
- Float_t fAirGapWidthY ;
- Float_t fAirGapWidthZ ;
- Float_t fCoolerWidthX ;
- Float_t fCoolerWidthY ;
- Float_t fCoolerWidthZ ;
- Float_t fAlCoverThickness ;
- Float_t fOuterThermoWidthXUp ;
- Float_t fOuterThermoWidthXLow;
- Float_t fOuterThermoWidthY ;
- Float_t fOuterThermoWidthZ ;
- Float_t fAlFrontCoverX ;
- Float_t fAlFrontCoverZ ;
- Float_t fFiberGlassSup2X ;
- Float_t fFiberGlassSup1X ;
- Float_t fFrameHeight ;
- Float_t fFrameThickness ;
- Float_t fAirSpaceFeeX ;
- Float_t fAirSpaceFeeZ ;
- Float_t fAirSpaceFeeY ;
- Float_t fTCables2HalfSize[3] ;
- Float_t fTCables1HalfSize[3] ;
- Float_t fWarmUpperThickness ;
- Float_t fWarmBottomThickness ;
- Float_t fWarmAlCoverWidthX ;
- Float_t fWarmAlCoverWidthY ;
- Float_t fWarmAlCoverWidthZ ;
- Float_t fWarmAlCoverHalfSize[3] ;
- Float_t fWarmThermoHalfSize[3] ;
- Float_t fFiberGlassSup1Y ;
- Float_t fFiberGlassSup2Y ;
- Float_t fTSupportDist ;
- Float_t fTSupport1Thickness ;
- Float_t fTSupport2Thickness ;
- Float_t fTSupport1Width ;
- Float_t fTSupport2Width ;
- Float_t fFrameXHalfSize[3] ;
- Float_t fFrameZHalfSize[3] ;
- Float_t fFrameXPosition[3] ;
- Float_t fFrameZPosition[3] ;
- Float_t fFGupXHalfSize[3] ;
- Float_t fFGupXPosition[3] ;
- Float_t fFGupZHalfSize[3] ;
- Float_t fFGupZPosition[3] ;
- Float_t fFGlowXHalfSize[3] ;
- Float_t fFGlowXPosition[3] ;
- Float_t fFGlowZHalfSize[3] ;
- Float_t fFGlowZPosition[3] ;
- Float_t fFEEAirHalfSize[3] ;
- Float_t fFEEAirPosition[3] ;
- Float_t fEMCParams[4] ;
- Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
- Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
-
- Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip
-
- Int_t fNCellsInStrip ;
- Int_t fNStripX ;
- Int_t fNStripZ ;
- Int_t fNTSupports ;
- Int_t fNPhi ; // Number of crystal units in X (phi) direction
- Int_t fNZ ; // Number of crystal units in Z direction
-
- ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class
+ Float_t fStripHalfSize[3] ; // Strip unit size/2
+ Float_t fAirCellHalfSize[3] ; // geometry parameter
+ Float_t fWrappedHalfSize[3] ; // geometry parameter
+ Float_t fSupportPlateHalfSize[3] ; // geometry parameter
+ Float_t fSupportPlateInHalfSize[3] ; // geometry parameter
+ Float_t fCrystalHalfSize[3] ; // crystal size/2
+ Float_t fAirGapLed ; // geometry parameter
+ Float_t fStripWallWidthOut ; // Side to another strip
+ Float_t fStripWallWidthIn ; // geometry parameter
+ Float_t fTyvecThickness ; // geometry parameter
+ Float_t fTSupport1HalfSize[3] ; // geometry parameter
+ Float_t fTSupport2HalfSize[3] ; // geometry parameter
+ Float_t fPreampHalfSize[3] ; // geometry parameter
+ Float_t fPinDiodeHalfSize[3] ; // Size of the PIN Diode
+
+ Float_t fOuterThermoParams[4] ; // geometry parameter
+ Float_t fCoolerHalfSize[3] ; // geometry parameter
+ Float_t fAirGapHalfSize[3] ; // geometry parameter
+ Float_t fInnerThermoHalfSize[3] ; // geometry parameter
+ Float_t fAlCoverParams[4] ; // geometry parameter
+ Float_t fFiberGlassHalfSize[3] ; // geometry parameter
+
+ Float_t fInnerThermoWidthX ; // geometry parameter
+ Float_t fInnerThermoWidthY ; // geometry parameter
+ Float_t fInnerThermoWidthZ ; // geometry parameter
+ Float_t fAirGapWidthX ; // geometry parameter
+ Float_t fAirGapWidthY ; // geometry parameter
+ Float_t fAirGapWidthZ ; // geometry parameter
+ Float_t fCoolerWidthX ; // geometry parameter
+ Float_t fCoolerWidthY ; // geometry parameter
+ Float_t fCoolerWidthZ ; // geometry parameter
+ Float_t fAlCoverThickness ; // geometry parameter
+ Float_t fOuterThermoWidthXUp ; // geometry parameter
+ Float_t fOuterThermoWidthXLow; // geometry parameter
+ Float_t fOuterThermoWidthY ; // geometry parameter
+ Float_t fOuterThermoWidthZ ; // geometry parameter
+ Float_t fAlFrontCoverX ; // geometry parameter
+ Float_t fAlFrontCoverZ ; // geometry parameter
+ Float_t fFiberGlassSup2X ; // geometry parameter
+ Float_t fFiberGlassSup1X ; // geometry parameter
+ Float_t fFrameHeight ; // geometry parameter
+ Float_t fFrameThickness ; // geometry parameter
+ Float_t fAirSpaceFeeX ; // geometry parameter
+ Float_t fAirSpaceFeeZ ; // geometry parameter
+ Float_t fAirSpaceFeeY ; // geometry parameter
+ Float_t fTCables2HalfSize[3] ; // geometry parameter
+ Float_t fTCables1HalfSize[3] ; // geometry parameter
+ Float_t fWarmUpperThickness ; // geometry parameter
+ Float_t fWarmBottomThickness ; // geometry parameter
+ Float_t fWarmAlCoverWidthX ; // geometry parameter
+ Float_t fWarmAlCoverWidthY ; // geometry parameter
+ Float_t fWarmAlCoverWidthZ ; // geometry parameter
+ Float_t fWarmAlCoverHalfSize[3] ; // geometry parameter
+ Float_t fWarmThermoHalfSize[3] ; // geometry parameter
+ Float_t fFiberGlassSup1Y ; // geometry parameter
+ Float_t fFiberGlassSup2Y ; // geometry parameter
+ Float_t fTSupportDist ; // geometry parameter
+ Float_t fTSupport1Thickness ; // geometry parameter
+ Float_t fTSupport2Thickness ; // geometry parameter
+ Float_t fTSupport1Width ; // geometry parameter
+ Float_t fTSupport2Width ; // geometry parameter
+ Float_t fFrameXHalfSize[3] ; // geometry parameter
+ Float_t fFrameZHalfSize[3] ; // geometry parameter
+ Float_t fFrameXPosition[3] ; // geometry parameter
+ Float_t fFrameZPosition[3] ; // geometry parameter
+ Float_t fFGupXHalfSize[3] ; // geometry parameter
+ Float_t fFGupXPosition[3] ; // geometry parameter
+ Float_t fFGupZHalfSize[3] ; // geometry parameter
+ Float_t fFGupZPosition[3] ; // geometry parameter
+ Float_t fFGlowXHalfSize[3] ; // geometry parameter
+ Float_t fFGlowXPosition[3] ; // geometry parameter
+ Float_t fFGlowZHalfSize[3] ; // geometry parameter
+ Float_t fFGlowZPosition[3] ; // geometry parameter
+ Float_t fFEEAirHalfSize[3] ; // geometry parameter
+ Float_t fFEEAirPosition[3] ; // geometry parameter
+ Float_t fEMCParams[4] ; // geometry parameter
+ Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
+ Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
+
+ Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip
+
+ Int_t fNCellsXInStrip ; // Number of cells in a strip unit in X
+ Int_t fNCellsZInStrip ; // Number of cells in a strip unit in Z
+ Int_t fNStripX ; // Number of strip units in X
+ Int_t fNStripZ ; // Number of strip units in Z
+ Int_t fNTSupports ; // geometry parameter
+ Int_t fNPhi ; // Number of crystal units in X (phi) direction
+ Int_t fNZ ; // Number of crystal units in Z direction
+ ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class
} ;