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