X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11GeometrySSD.h;h=b90d9edc69dc3337bacdf3d5ed05352a02328e3a;hb=e9362f9d5f6bc5b4a8149efea680c317fa74094a;hp=46f98035e33939c0088f409e2217fc91024b8e4b;hpb=e21cdd03bf2ee5cfcc92f28507890c7dc29d25c9;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11GeometrySSD.h b/ITS/AliITSv11GeometrySSD.h index 46f98035e33..b90d9edc69d 100644 --- a/ITS/AliITSv11GeometrySSD.h +++ b/ITS/AliITSv11GeometrySSD.h @@ -8,6 +8,7 @@ * See cxx source for full Copyright notice */ /* $Id$ */ class TGeoVolume; +class TGeoShape; class TGeoCombiTrans; class TGeoMedium; class TGeoCompositeShape; @@ -30,37 +31,44 @@ public: ///////////////////////////////////////////////////////////////////////// // Public methods ///////////////////////////////////////////////////////////////////////// + void CreateMaterials(); // Method setting the materials TGeoMedium* GetMedium(const char* mediumName); // It returns the Medium - const char* GetSenstiveVolumeName5() const {return fgSDDsensitiveVolName5;}; + const char* GetSenstiveVolumeName5() const {return fgSSDsensitiveVolName5;}; // it returns the Sensitive Volume of Layer 5 - const char* GetSenstiveVolumeName6() const {return fgSDDsensitiveVolName6;}; + const char* GetSenstiveVolumeName6() const {return fgSSDsensitiveVolName6;}; // it returns the Sensitive Volume of Layer 6 TGeoVolumeAssembly* GetLadderSegment(Int_t i){return fladdersegment[i];}; // Get Ladder Segment TGeoVolumeAssembly* GetEndLadderSegment(Int_t i){return fendladdersegment[i];}; // Get End Ladder Segment TGeoVolume* GetLadder(Int_t i) {return fladder[i];}; // Get Ladder +// TGeoVolumeAssembly* GetLadder(Int_t i) {return fladder[i];}; // Get Ladder TGeoVolumeAssembly* GetLayer(Int_t i)const {return i==5? fSSDLayer5 : fSSDLayer6;}; // Get Layer TGeoVolume** GetEndCapAssembly(); // End Cap Assembly void SetLadderSegment(); // Set Ladder Elementary Segment void SetEndLadderSegment(); // Set End Ladder Segment void SetLadder(); // Set Ladder void SetLayer(); // Set Layer + void SetSSDCone(); // Set SSD Cone + TGeoVolume* SetSSDCables(); // Set SSD Cables void Layer5(TGeoVolume* moth); // Setting Layer 5 into mother volume void Layer6(TGeoVolume* moth); // Setting Layer 6 into mother volume void LadderSupportLayer5(TGeoVolume* moth); // Setting Ladder Support of Layer 5 void LadderSupportLayer6(TGeoVolume* moth); // Setting Ladder Support of Layer 6 void EndCapSupportSystemLayer5(TGeoVolume* moth); // Setting End Cap Support + End Cap Assembly Layer 5 void EndCapSupportSystemLayer6(TGeoVolume* moth); // Setting End Cap Support + End Cap Assembly Layer 6 - void CreateMaterials(); // Method setting the materials + void SSDCone(TGeoVolume* moth); // Setting SSD Cone; + void SSDCables(TGeoVolume* moth); // Setting SSD Cables; private: ///////////////////////////////////////////////////////////////////////////////// // Names of the Sensitive Volumes of Layer 5 and Layer 6 ///////////////////////////////////////////////////////////////////////////////// - static const char* fgSDDsensitiveVolName5; // sens. vol. name for lay. 5 - static const char* fgSDDsensitiveVolName6; // sens. vol. name for lay. 6 + static const char* fgSSDsensitiveVolName5; // sens. vol. name for lay. 5 + static const char* fgSSDsensitiveVolName6; // sens. vol. name for lay. 6 ///////////////////////////////////////////////////////////////////////////////// // Variable for Vertical Disalignement of Modules ///////////////////////////////////////////////////////////////////////////////// static const Double_t fgkSSDModuleVerticalDisalignment; // Vertical Disalignement of Volume + static const Double_t fgkSSDModuleVerticalDisalignment2; // Vertical Disalignement of Volume + static const Double_t fgkSSDTolerance; // SSD Tolerance ///////////////////////////////////////////////////////////////////////// // Layer5 (lengths are in mm and angles in degrees) ///////////////////////////////////////////////////////////////////////// @@ -204,6 +212,7 @@ private: ///////////////////////////////////////////////////////////////////////// //Parameters for Carbon Fiber Lower Support (lengths are in mm) ///////////////////////////////////////////////////////////////////////// + static const Double_t fgkLowerSupportToSensorZ; // Distance from lower support to sensor center static const Double_t fgkCarbonFiberLowerSupportWidth; // Lower Support of Carbon Fiber Width static const Double_t fgkCarbonFiberLowerSupportLowerLenght; // Lower Support of Carbon Fiber Length static const Double_t fgkCarbonFiberLowerSupportHeight; // Lower Support of Carbon Fiber Height @@ -353,8 +362,51 @@ private: static const Double_t fgkEndCapKaptonFoilLength; // End Cap Kapton Foil Length static const Double_t fgkEndCapKaptonFoilWidth ; // End Cap Kapton Foil Width ///////////////////////////////////////////////////////////////////////// + // SSD Cone + ///////////////////////////////////////////////////////////////////////// + static const Double_t fgkSSDLowerPConeRadius; // SSD Cone Lower Radius + static const Double_t fgkSSDPConeAngle; // SSD Cone Angle + static const Double_t fgkSSDPConeZLength[2]; // SSD Cone ZLength + static const Double_t fgkSSDPConeLittleHoleRadius; // SSD Cone Little Hole Radius + static const Double_t fgkSSDPConeLittleHoleLength; // SSD Cone Little Hole Length + static const Double_t fgkSSDConeMiddleRadius; // SSD Cone Middle Radius + static const Double_t fgkSSDPConeMiddleLength; // SSD Cone Middle Length + static const Double_t fgkSSDPConeMiddleWidth; // SSD Cone Middle Width + static const Double_t fgkSSDPConeUpRadius; // SSD Cone Up Radius + static const Double_t fgkSSDPConeUpMaxRadius; // SSD Cone Up Max Radius + static const Double_t fgkSSDPConeUpMiddleRadius; // SSD Cone Up Middle Radius + static const Double_t fgkSSDPConeDownRadius; // SSD Cone Down Radius + static const Double_t fgkSSDPConeTrapezoidAngle; // SSD Cone Trapezoid Angle + static const Double_t fgkSSDPConeTrapezoidBasis; // SSD Cone Trapezoid Basis + static const Double_t fgkSSDPConeExternalRadius; // SSD Cone External Radius + static const Double_t fgkSSDPConeRadiusWidth; // SSD Cone Radius Width + static const Double_t fgkSSDPConeLength; // SSD Cone Length + static const Double_t fgkSSDCentralSupportLength; //SSD Central Support Length + static const Double_t fgkSSDCentralSupportRadius; // SSD Central Support Radius + static const Double_t fgkSSDCentralSupportWidth; // SSD Central Support Width + static const Double_t fgkSSDCentralAL3SupportLength; // SSD Central Support Length + static const Double_t fgkSSDCentralAL3SupportWidth; // SSD Central Support Width + ///////////////////////////////////////////////////////////////////////// + // SSD Cables e Patch Panel + ///////////////////////////////////////////////////////////////////////// + static const Double_t fgkSSDCablesLay5TubeRadiusMin; // Radius Min Cable Tube Layer 5 + static const Double_t fgkSSDCablesLay6TubeRadiusMin; // Radius Min Cable Tube Layer 6 + static const Double_t fgkSSDCablesLay5RightSideHeight; // Width Lay 5 Cables to be fixed in order to reproduce material budget + static const Double_t fgkSSDCablesLay6RightSideHeight; // // Width Lay 5 Cables to be fixed in order to reproduce material budget + static const Double_t fgkSSDCableAngle; // Angle Cable + static const Double_t fgkSSDCablesLay5RightSideWaterHeight; // Width Lay 5 Water Cables to be fixed in order to reproduce material budget + static const Double_t fgkSSDCablesPatchPanel2RB26Angle[2]; // Angle Position Patch Panel RB26 + static const Double_t fgkSSDCablesPatchPanel2RB24Angle[2]; // Angle Position Patch Panel RB24 + static const Double_t fgkSSDPatchPanel2RB26ITSDistance; // Patch Panel RB26 Position + static const Double_t fgkSSDPatchPanel2RB24ITSDistance; // Patch Panel RB24 Position + static const Double_t fgkSSDPatchPanel2RB26Radius; // Patch Panel Radius + static const Double_t fgkSSDPatchPanel2RB24Radius; // Patch Panel Radius + static const Double_t fgkSSDPatchPanelHeigth; // Patch Panel Height + static const Double_t fgkSSDCableMaterialBudgetHeight; // SSD Cable Material Budget + ///////////////////////////////////////////////////////////////////////// // Private methods for private members generation ///////////////////////////////////////////////////////////////////////// + void CreateTransformationMatrices(); // Method setting the transformation matrices void CreateBasicObjects(); // Method creating the basic objects of ssd geometry void SetSSDSensor(); // Method setting the SSD Layer 5 and 6 sensors @@ -404,8 +456,8 @@ private: TGeoArb8* GetArbShape(TVector3* vertexpos[],Double_t* width, Double_t height,char* shapename,Int_t isign = 1) const; // Method generating an Arb shape - TGeoXtru* GetScrewShape(Double_t* radius,Int_t* edgesnumber,Double_t* section) const;// Method Generating the Screw Shape - TGeoXtru* GetHoleShape(Double_t radius, Int_t nedges, Double_t *section) const;// Method Generating the Hole Shape + TGeoShape* GetScrewShape(Double_t* radius,Int_t* edgesnumber,Double_t* section) const;// Method Generating the Screw Shape + TGeoShape* GetHoleShape(Double_t radius, Int_t nedges, Double_t *section) const;// Method Generating the Hole Shape TVector3* GetReflection(TVector3* vector,Double_t* param) const; // Given an axis specified by param, // it gives the reflection of the point respect to the axis @@ -439,7 +491,9 @@ private: TGeoMedium* fSSDCoolingTubePhynox; // Medium for Cooling Tube TGeoMedium* fSSDSupportRingAl; // Medium for Support Ring TGeoMedium* fSSDMountingBlockMedium; // Medium for SSD Mounting Block + TGeoMedium* fSSDRohaCellCone; // Medium for SSD Ring Cone Support TGeoMedium* fSSDAir; // SSD Air + TGeoMedium* fSSDCopper; // Copper for SSD Cables ///////////////////////////////////////////////////////////////////////// Bool_t fCreateMaterials; // Bool variable which verifies if materials have been created Bool_t fTransformationMatrices; // Bool variable which verifies if matrices have been allocated @@ -559,6 +613,7 @@ private: static const Int_t fgkladdernumber = 2; // Ladder Number TGeoVolume* fladder[fgkladdernumber]; //fladder[0]: ladder of Layer 5 //fladder[1]: ladder of Layer 6 +// TGeoVolumeAssembly* fladder[fgkladdernumber]; TGeoHMatrix** fladdermatrix[fgkladdernumber]; // Ladder Matrix /////////////////////////////////// // SSD Sensor @@ -590,6 +645,10 @@ private: ///////////////////////////////////////////////////////////////////////// TGeoVolume** fgkEndCapSupportSystem; // End Cap Support + End Cap Assembly ///////////////////////////////////////////////////////////////////////// + // SSD Cone + ///////////////////////////////////////////////////////////////////////// + TGeoVolumeAssembly* fSSDCone; // SSD Cone + ///////////////////////////////////////////////////////////////////////// // Color Display ///////////////////////////////////////////////////////////////////////// Int_t fColorCarbonFiber; // display colors @@ -606,4 +665,3 @@ private: ClassDef(AliITSv11GeometrySSD, 3) // ITS v11 SSD geometry }; #endif -