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() void InitPHOS() void InitPPSD() public:
AliPHOSGeometry AliPHOSGeometry() AliPHOSGeometry AliPHOSGeometry(AliPHOSGeometry&) virtual void ~AliPHOSGeometry() Bool_t AbsToRelNumbering(const Int_t AbsId, Int_t* RelId) TClass* Class() void EmcModuleCoverage(const Int_t m, Double_t& tm, Double_t& tM, Double_t& pm, Double_t& pM, Option_t* opt = kRadian) void EmcXtalCoverage(Double_t& theta, Double_t& phi, Option_t* opt = kRadian) 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 GetCrystalHolderThickness() const Float_t GetCrystalSize(Int_t index) const Float_t GetCrystalSupportHeight() const Float_t GetCrystalWrapThickness() const Float_t GetGapBetweenCrystals() const virtual void GetGlobal(const AliRecPoint* RecPoint, TVector3& gpos, TMatrix& gmat) virtual void GetGlobal(const AliRecPoint* RecPoint, TVector3& gpos) AliPHOSGeometry* GetInstance(const Text_t* name, const Text_t* title) AliPHOSGeometry* GetInstance() Float_t GetIPtoCrystalSurface() const Float_t GetIPtoOuterCoverDistance() 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 GetNModules() const Int_t GetNPhi() 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 GetPCThickness() const Float_t GetPhiDisplacement() const Float_t GetPHOSAngle(Int_t index) const Float_t GetPinDiodeSize(Int_t index) const Float_t GetPPSDBoxSize(Int_t index) const Float_t GetPPSDModuleSize(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 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& x, Double_t& z) virtual TClass* IsA() const Bool_t IsInitialized() const 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 e) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b)

Data Members

private:
Float_t fAirFilledBoxSize[3] Air filled box containing one module Float_t fAirThickness[3] Space filled with air between the module box and the Textolit box Float_t fCrystalSupportHeight Height of the support of the crystal Float_t fCrystalWrapThickness Thickness of Tyvek wrapping the crystal Float_t fCrystalHolderThickness Titanium holder of the crystal Float_t fGapBetweenCrystals Total Gap between two adjacent crystals Bool_t fInit Tells if geometry has been succesfully set up Float_t fIPtoOuterCoverDistance Distances from interaction point to outer cover Float_t fIPtoCrystalSurface Distances from interaction point to Xtal surface Float_t fModuleBoxThickness Thickness of the thermo insulating box containing one crystals module Float_t fLowerTextolitPlateThickness Thickness of lower textolit plate Float_t fLowerThermoPlateThickness Thickness of lower thermo insulating plate Int_t fNModules Number of modules constituing PHOS Int_t fNPhi Number of crystal units in X (phi) direction Int_t fNZ Number of crystal units in Z direction Float_t fOuterBoxSize[3] Size of the outer thermo insulating foam box Float_t fOuterBoxThickness[3] Thickness of the outer thermo insulating foam box Float_t fPHOSAngle[4] Position angles of modules Float_t fPinDiodeSize[3] Size of the PIN Diode TObjArray* fRotMatrixArray Liste of rotation matrices (one per phos module) Float_t fSecondUpperPlateThickness Thickness of upper polystyrene foam plate Float_t fSupportPlateThickness Thickness of the Aluminium support plate Float_t fUpperCoolingPlateThickness Thickness of the upper cooling plate Float_t fUpperPlateThickness Thickness of the uper thermo insulating foam plate Float_t fTextolitBoxSize[3] Size of the Textolit box inside the insulating foam box Float_t fTextolitBoxThickness[3] Thicknesses of th Textolit box Float_t fXtlSize[3] PWO4 crystal dimensions Float_t fAnodeThickness Thickness of the copper layer which makes the anode Float_t fAvalancheGap Thickness of the gas in the avalanche stage Float_t fCathodeThickness Thickeness of composite material ensuring rigidity of cathode Float_t fCompositeThickness Thickeness of composite material ensuring rigidity of anode Float_t fConversionGap Thickness of the gas in the conversion stage Float_t fIPtoTopLidDistance Distance from interaction point to top lid of PPSD Float_t fLeadConverterThickness Thickness of the Lead converter Float_t fLeadToMicro2Gap Thickness of the air gap between the Lead and Micromegas 2 Float_t fLidThickness Thickness of top lid Float_t fMicromegas1Thickness Thickness of the first downstream Micromegas Float_t fMicromegas2Thickness Thickness of the second downstream Micromegas Float_t fMicromegasWallThickness Thickness of the Micromegas leak tight box Float_t fMicro1ToLeadGap Thickness of the air gap between Micromegas 1 and the Lead Int_t fNumberOfPadsPhi Number of pads on a micromegas module ; Int_t fNumberOfPadsZ Number of pads on a micromegas module ; Int_t fNumberOfModulesPhi Number of micromegas modules in phi Int_t fNumberOfModulesZ Number of micromegas modules in z Float_t fPCThickness Thickness of the printed circuit board of the anode Float_t fPhiDisplacement Phi displacement of micromegas1 with respect to micromegas2 Float_t fPPSDBoxSize[3] Size of large box which contains PPSD; matches PHOS module size Float_t fPPSDModuleSize[3] Size of an individual micromegas module Float_t fZDisplacement Z displacement of micromegas1 with respect to micromegas2 static AliPHOSGeometry* fGeom pointer to the unique instance of the singleton

Class Description

 Geometry class  for PHOS : singleton
 The EMC modules are parametrized so that any configuration can be easily implemented
 The title is used to identify the type of CPV used. So far only PPSD implemented

*-- Author: Yves Schutz (SUBATECH)

~AliPHOSGeometry(void)
 dtor

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 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

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

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

void Init(void)
 Initializes the PHOS parameters

void InitPHOS(void)
 Initializes the EMC parameters

void InitPPSD(void)
 Initializes the PPSD parameters

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

Bool_t RelToAbsNumbering(const Int_t * relid, Int_t & AbsId)
 Converts the relative numbering into the absolute numbering
  AbsId = 1:fNModules * fNPhi * fNZ  -> PbWO4
  AbsId = 1:fNModules * 2 * (fNumberOfModulesPhi * fNumberOfModulesZ) * fNumberOfPadsPhi * fNumberOfPadsZ -> PPSD

void RelPosInAlice(const Int_t id, TVector3 & pos )
 Converts the absolute numbering into the global ALICE coordinates

void RelPosInModule(const Int_t * relid, Float_t & x, Float_t & z)
 Converts the relative numbering into the local PHOS-module (x, z) coordinates

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

void SetLeadConverterThickness(Float_t e)
 should ultimately disappear



Inline Functions


        AliPHOSGeometry AliPHOSGeometry()
        AliPHOSGeometry AliPHOSGeometry(const Text_t* name, const Text_t* title)
                 Bool_t IsInitialized() 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 GetIPtoTopLidDistance() const
                Float_t GetLowerThermoPlateThickness() const
                Float_t GetLowerTextolitPlateThickness() const
                Float_t GetModuleBoxThickness() const
                  Int_t GetNPhi() const
                  Int_t GetNZ() const
                  Int_t GetNModules() const
                Float_t GetOuterBoxSize(Int_t index) const
                Float_t GetOuterBoxThickness(Int_t index) const
                Float_t GetPHOSAngle(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 GetNumberOfPadsPhi() const
                  Int_t GetNumberOfPadsZ() const
                  Int_t GetNumberOfModulesPhi() const
                  Int_t GetNumberOfModulesZ() const
                Float_t GetPCThickness() const
                Float_t GetPhiDisplacement() const
                Float_t GetPPSDBoxSize(Int_t index) const
                Float_t GetPPSDModuleSize(Int_t index) const
                Float_t GetZDisplacement() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
        AliPHOSGeometry AliPHOSGeometry(AliPHOSGeometry&)


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.