AliPHOSGeometry


class description - source file - inheritance tree

class AliPHOSGeometry : public AliGeometry

    private:
void SetPHOSAngles() protected:
AliPHOSGeometry AliPHOSGeometry(const Text_t* name, const Text_t* title) void Init() public:
AliPHOSGeometry AliPHOSGeometry() AliPHOSGeometry AliPHOSGeometry(const AliPHOSGeometry& geom) virtual void ~AliPHOSGeometry() Bool_t AbsToRelNumbering(const Int_t AbsId, Int_t* RelId) static TClass* Class() static TString Degre() void EmcModuleCoverage(const Int_t m, Double_t& tm, Double_t& tM, Double_t& pm, Double_t& pM, Option_t* opt = Radian()) void EmcXtalCoverage(Double_t& theta, Double_t& phi, Option_t* opt = Radian()) Float_t GetAirFilledBoxSize(Int_t index) const Float_t GetAnodeThickness() const Float_t GetAvalancheGap() const Float_t GetCathodeThickness() const Float_t GetCompositeThickness() const Float_t GetConversionGap() const Float_t GetCPVActiveSize(Int_t index) const Float_t GetCPVBoxSize(Int_t index) const Float_t GetCPVCuNiFoilThickness() const Float_t GetCPVFrameSize(Int_t index) const Float_t GetCPVGasThickness() const Float_t GetCPVTextoliteThickness() const Float_t GetCradleWall(Int_t index) const Float_t GetCradleWallThickness() const Float_t GetCradleWheel(Int_t index) const Float_t GetCrystalHolderThickness() const Float_t GetCrystalSize(Int_t index) const Float_t GetCrystalSupportHeight() const Float_t GetCrystalWrapThickness() const Float_t GetDistanceBetwRails() const Float_t GetFTPosition(Int_t index) const Float_t GetGapBetweenCrystals() const Float_t GetGassiplexChipSize(Int_t index) const virtual void GetGlobal(const AliRecPoint* RecPoint, TVector3& gpos, TMatrix& gmat) const virtual void GetGlobal(const AliRecPoint* RecPoint, TVector3& gpos) const static AliPHOSGeometry* GetInstance(const Text_t* name, const Text_t* title) static AliPHOSGeometry* GetInstance() Float_t GetIPtoCPVDistance() const Float_t GetIPtoCrystalSurface() const Float_t GetIPtoOuterCoverDistance() const Float_t GetIPtoPpsdLow() const Float_t GetIPtoPpsdUp() const Float_t GetIPtoTopLidDistance() const Float_t GetLeadConverterThickness() const Float_t GetLeadToMicro2Gap() const Float_t GetLidThickness() const Float_t GetLowerTextolitPlateThickness() const Float_t GetLowerThermoPlateThickness() const Float_t GetMicro1ToLeadGap() const Float_t GetMicromegas1Thickness() const Float_t GetMicromegas2Thickness() const Float_t GetMicromegasWallThickness() const Float_t GetModuleBoxThickness() const Int_t GetNCPVModules() const Int_t GetNModules() const Int_t GetNPhi() const Int_t GetNPPSDModules() const Int_t GetNumberOfCPVChipsPhi() const Int_t GetNumberOfCPVChipsZ() const Int_t GetNumberOfCPVLayers() const Int_t GetNumberOfCPVPadsPhi() const Int_t GetNumberOfCPVPadsZ() const Int_t GetNumberOfModulesPhi() const Int_t GetNumberOfModulesZ() const Int_t GetNumberOfPadsPhi() const Int_t GetNumberOfPadsZ() const Int_t GetNZ() const Float_t GetOuterBoxSize(Int_t index) const Float_t GetOuterBoxThickness(Int_t index) const Float_t GetPadSizePhi() const Float_t GetPadSizeZ() const Float_t GetPCThickness() const Float_t GetPhiDisplacement() const Float_t GetPHOSAngle(Int_t index) const Float_t GetPinDiodeSize(Int_t index) const Float_t GetPPSDModuleSize(Int_t index) const Float_t GetRailLength() const Float_t GetRailOuterSize(Int_t index) const Float_t GetRailPart1(Int_t index) const Float_t GetRailPart2(Int_t index) const Float_t GetRailPart3(Int_t index) const Float_t GetRailPos(Int_t index) const Float_t GetRailRoadSize(Int_t index) const Float_t GetRailsDistanceFromIP() const Float_t GetSecondUpperPlateThickness() const Float_t GetSupportPlateThickness() const Float_t GetTextolitBoxSize(Int_t index) const Float_t GetTextolitBoxThickness(Int_t index) const Float_t GetUpperCoolingPlateThickness() const Float_t GetUpperPlateThickness() const Float_t GetZDisplacement() const void ImpactOnEmc(const Double_t theta, const Double_t phi, Int_t& ModuleNumber, Double_t& z, Double_t& x) virtual TClass* IsA() const Bool_t IsInitialized() const Bool_t IsLeadConverterExists() const AliPHOSGeometry& operator=(const AliPHOSGeometry& rvalue) const static TString Radian() void RelPosInAlice(const Int_t AbsId, TVector3& pos) void RelPosInModule(const Int_t* RelId, Float_t& y, Float_t& z) Bool_t RelToAbsNumbering(const Int_t* RelId, Int_t& AbsId) void SetLeadConverterThickness(Float_t x) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

private:
Int_t fNModules Number of modules constituing PHOS Int_t fNPPSDModules Number of PPSD modules Float_t fAngle Position angles between modules Float_t* fPHOSAngle [fNModules] Position angles of modules TObjArray* fRotMatrixArray Liste of rotation matrices (one per phos module) AliPHOSEMCAGeometry* fGeometryEMCA Geometry object for Electromagnetic calorimeter AliPHOSCPVGeometry* fGeometryCPV Geometry object for CPV (IHEP) AliPHOSPPSDGeometry* fGeometryPPSD Geometry object for PPSD (GPS2) AliPHOSSupportGeometry* fGeometrySUPP Geometry object for PHOS support static AliPHOSGeometry* fgGeom pointer to the unique instance of the singleton static Bool_t fgInit Tells if geometry has been succesfully set up protected:
public:

Class Description

 Geometry class  for PHOS : singleton
 PHOS consists of the electromagnetic calorimeter (EMCA)
 and a charged particle veto either in the Subatech's version (PPSD)
 or in the IHEP's one (CPV).
 The EMCA/PPSD/CPV modules are parametrized so that any configuration
 can be easily implemented
 The title is used to identify the version of CPV used.

*-- Author: Yves Schutz (SUBATECH)

~AliPHOSGeometry(void)
 dtor

void Init(void)
 Initializes the PHOS parameters

Float_t GetCPVBoxSize(Int_t index) const

AliPHOSGeometry* GetInstance()
 Returns the pointer of the unique instance

AliPHOSGeometry* GetInstance(const Text_t* name, const Text_t* title)
 Returns the pointer of the unique instance

void SetPHOSAngles()
 Calculates the position in ALICE of the PHOS modules

Bool_t AbsToRelNumbering(const Int_t AbsId, Int_t * relid)
 Converts the absolute numbering into the following array
  relid[0] = PHOS Module number 1:fNModules
  relid[1] = 0 if PbW04
           = PPSD Module number 1:fNumberOfModulesPhi*fNumberOfModulesZ*2 (2->up and bottom level)
  relid[2] = Row number inside a PHOS or PPSD module
  relid[3] = Column number inside a PHOS or PPSD module

void EmcModuleCoverage(const Int_t mod, Double_t & tm, Double_t & tM, Double_t & pm, Double_t & pM, Option_t * opt)
 calculates the angular coverage in theta and phi of a EMC module

void EmcXtalCoverage(Double_t & theta, Double_t & phi, Option_t * opt)
 calculates the angular coverage in theta and phi of a single crystal in a EMC module

void GetGlobal(const AliRecPoint* RecPoint, TVector3 & gpos, TMatrix & gmat) const
 Calculates the ALICE global coordinates of a RecPoint and the error matrix

void GetGlobal(const AliRecPoint* RecPoint, TVector3 & gpos) const
 Calculates the ALICE global coordinates of a RecPoint

void ImpactOnEmc(const Double_t theta, const Double_t phi, Int_t & ModuleNumber, Double_t & z, Double_t & x)
 calculates the impact coordinates of a neutral particle
 emitted in direction theta and phi in ALICE

Bool_t RelToAbsNumbering(const Int_t * relid, Int_t & AbsId)
 Converts the relative numbering into the absolute numbering
 EMCA crystals:
  AbsId = from 1 to fNModules * fNPhi * fNZ
 PPSD gas cell:
  AbsId = from N(total EMCA crystals) + 1
          to NCPVModules * fNumberOfCPVPadsPhi * fNumberOfCPVPadsZ +
          fNModules * 2 * (fNumberOfModulesPhi * fNumberOfModulesZ) * fNumberOfPadsPhi * fNumberOfPadsZ
 CPV pad:
  AbsId = from N(total PHOS crystals) + 1
          to NCPVModules * fNumberOfCPVPadsPhi * fNumberOfCPVPadsZ

void RelPosInAlice(const Int_t id, TVector3 & pos )
 Converts the absolute numbering into the global ALICE coordinates
 It works only for the GPS2 geometry

void RelPosInModule(const Int_t * relid, Float_t & x, Float_t & z)
 Converts the relative numbering into the local PHOS-module (x, z) coordinates
 Note: sign of z differs from that in the previous version (Yu.Kharlov, 12 Oct 2000)



Inline Functions


         AliPHOSGeometry AliPHOSGeometry()
         AliPHOSGeometry AliPHOSGeometry(const AliPHOSGeometry& geom)
        AliPHOSGeometry& operator=(const AliPHOSGeometry& rvalue) const
                 TString Degre()
                 TString Radian()
                  Bool_t IsInitialized() const
                   Int_t GetNModules() const
                   Int_t GetNPPSDModules() const
                   Int_t GetNCPVModules() const
                 Float_t GetPHOSAngle(Int_t index) const
                 Float_t GetOuterBoxSize(Int_t index) const
                 Float_t GetAirFilledBoxSize(Int_t index) const
                 Float_t GetCrystalHolderThickness() const
                 Float_t GetCrystalSize(Int_t index) const
                 Float_t GetCrystalSupportHeight() const
                 Float_t GetCrystalWrapThickness() const
                 Float_t GetGapBetweenCrystals() const
                 Float_t GetIPtoCrystalSurface() const
                 Float_t GetIPtoOuterCoverDistance() const
                 Float_t GetLowerThermoPlateThickness() const
                 Float_t GetLowerTextolitPlateThickness() const
                 Float_t GetModuleBoxThickness() const
                   Int_t GetNPhi() const
                   Int_t GetNZ() const
                 Float_t GetOuterBoxThickness(Int_t index) const
                 Float_t GetPinDiodeSize(Int_t index) const
                 Float_t GetSecondUpperPlateThickness() const
                 Float_t GetSupportPlateThickness() const
                 Float_t GetTextolitBoxSize(Int_t index) const
                 Float_t GetTextolitBoxThickness(Int_t index) const
                 Float_t GetUpperPlateThickness() const
                 Float_t GetUpperCoolingPlateThickness() const
                 Float_t GetAnodeThickness() const
                 Float_t GetAvalancheGap() const
                 Float_t GetCathodeThickness() const
                 Float_t GetCompositeThickness() const
                 Float_t GetConversionGap() const
                 Float_t GetLeadConverterThickness() const
                 Float_t GetLeadToMicro2Gap() const
                 Float_t GetLidThickness() const
                 Float_t GetMicromegas1Thickness() const
                 Float_t GetMicromegas2Thickness() const
                 Float_t GetMicromegasWallThickness() const
                 Float_t GetMicro1ToLeadGap() const
                   Int_t GetNumberOfModulesPhi() const
                   Int_t GetNumberOfModulesZ() const
                   Int_t GetNumberOfPadsPhi() const
                   Int_t GetNumberOfPadsZ() const
                 Float_t GetPCThickness() const
                 Float_t GetPhiDisplacement() const
                 Float_t GetPPSDModuleSize(Int_t index) const
                 Float_t GetZDisplacement() const
                    void SetLeadConverterThickness(Float_t x) const
                   Int_t GetNumberOfCPVLayers() const
                  Bool_t IsLeadConverterExists() const
                 Float_t GetCPVActiveSize(Int_t index) const
                   Int_t GetNumberOfCPVChipsPhi() const
                   Int_t GetNumberOfCPVChipsZ() const
                   Int_t GetNumberOfCPVPadsPhi() const
                   Int_t GetNumberOfCPVPadsZ() const
                 Float_t GetPadSizePhi() const
                 Float_t GetPadSizeZ() const
                 Float_t GetGassiplexChipSize(Int_t index) const
                 Float_t GetCPVGasThickness() const
                 Float_t GetCPVTextoliteThickness() const
                 Float_t GetCPVCuNiFoilThickness() const
                 Float_t GetFTPosition(Int_t index) const
                 Float_t GetCPVFrameSize(Int_t index) const
                 Float_t GetIPtoPpsdUp() const
                 Float_t GetIPtoTopLidDistance() const
                 Float_t GetIPtoPpsdLow() const
                 Float_t GetIPtoCPVDistance() const
                 Float_t GetRailOuterSize(Int_t index) const
                 Float_t GetRailPart1(Int_t index) const
                 Float_t GetRailPart2(Int_t index) const
                 Float_t GetRailPart3(Int_t index) const
                 Float_t GetRailPos(Int_t index) const
                 Float_t GetRailLength() const
                 Float_t GetDistanceBetwRails() const
                 Float_t GetRailsDistanceFromIP() const
                 Float_t GetRailRoadSize(Int_t index) const
                 Float_t GetCradleWallThickness() const
                 Float_t GetCradleWall(Int_t index) const
                 Float_t GetCradleWheel(Int_t index) const
         AliPHOSGeometry AliPHOSGeometry(const Text_t* name, const Text_t* title)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)


Copyright (c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.