AliPHOSGeometry
class description - source file - inheritance tree
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)
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:
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.