Skip to content
Snippets Groups Projects
Commit eb21a51c authored by Simon Neuhaus's avatar Simon Neuhaus Committed by Pierre-Alain Loizeau
Browse files

update Geometry of Rich detector

- change outer dimension of RICH detector
  - change width and length of RICH
  - change mainframe
    - make shape in top view rectangular
    - make slope on front
    - reuse mainFrame3
      - change mainframe5 to trapezoid form
      - add new mainframe7 which replace some of the mainFrame2
    - cutoff shieldingbox
      - add new mainframe8 in x-direction
    - reduce some mainframes by a length of (2x) thickness from the mainframe to reduce overlapping
    - cutoff a cubic where mainframes cross each other
  - change the length of the pillars
- Rich entrance window
  - change width of the entrance window
  - add 10cm wide and 2cm thick Aluminum flange
  - reduce size of entrance window without flange a bit
- Rich exit window
  - add 10cm wide and 2cm thick Aluminum flange
  - change width to 569cm
  - change hight to 384cm
  - change material of exit window from kapton to Polycarbonat
  - increase thickness to 1cm
- Add Studs to each pillar
  - 10cm x 10cm 0.2cm thick Aluminum
- Add Connections between pillars
  - 6cm x 2.5cm 0.2cm thick Aluminum
- Make beampipe to beampipe tunnel
  - change material to carbon
  - change radius at entrance and exit
  - change pipe thickness to 0.3cm
  - increase the length by 0.5cm
  - change and increase cutoff at middle mirror parts
  - increase hole in sensitivity plane (move subtracted Cone)
  - remove belt types 4 and 5 because of overlap with the beampipe tunnel
- change CreateStuds
  - CreateStuds now need length and angle
  - selecting of length and angle with fix value if conditions is removed
  - remove some typo failurs where was schieldingbox written instead of shieldingbox.
- renamed Polycarbonat to RICH_Polycarbonat in media.geo
- change cutoff cone in exit, entrance window and senseplane to tubes to fix issue with a small structure hanging in the circle.
- add some comments about creating older version of geometry.
- make output reproduceble and change commet about producing older versions.
parent 67920dcc
No related branches found
No related tags found
1 merge request!1534update Geometry of Rich detector
This diff is collapsed.
/* Copyright (C) 2022-2022 UGiessen/GSI, Giessen/Darmstadt
/* Copyright (C) 2022-2024 UGiessen/GSI, Giessen/Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Semen Lebedev [committer] */
Authors: Semen Lebedev [committer], Simon Neuhaus */
/* to generate geometry version v22a use version of this file and RichGeoCreator.cxx from commit bed4c932
to generate geometry version v23a use version of this file and RichGeoCreator.cxx from commit c25124a0
to generate geometry version v24a use version of this file and RichGeoCreator.cxx from commit current version (update at some point)
*/
#ifndef RICH_GEO_CREATOR
#define RICH_GEO_CREATOR
......@@ -29,13 +34,13 @@ public:
void Create();
void SetGeoName(const std::string& geoName) { fGeoName = geoName; }
void SetAddShieldingBox(bool addSchildingBox) { fAddShieldingBox = addSchildingBox; }
void SetAddShieldingBox(bool addShildingBox) { fAddShieldingBox = addShildingBox; }
void SetVolumeColors(bool setVolumeColors) { fSetVolumeColors = setVolumeColors; }
private:
RichGeoMaterials fMaterials;
std::string fGeoName = "rich_v23a";
std::string fGeoName = "rich_v24a";
bool fAddShieldingBox = true;
bool fSetVolumeColors = false;
......@@ -43,21 +48,27 @@ private:
double fDegToRad = 1.74532925199433E-02;
double fRichOrigZ = 180.; //cm
double fAccAngle = 25.; //deg
double fRichLength = 190.; //cm
double fRichHeight = 500.; //cm
double fRichWidth = 526.8; //cm
double fRichEntranceY = 180.; //cm
double fRichLength = 220.; //cm
double fRichHeight = 501.7; //cm
double fRichWidth = 600; //cm
double fRichCoveringThickness = 0.5; //cm
double fRichEntranceThickness = 0.025; //cm
double fRichExitThickness = 0.5; //cm
double fRichAddZ = 20.; //cm
// Entrance & Exit parameters
double fRichEntranceWidth = 260.; //cm
double fRichEntranceHeight = 175.; //cm
double fRichEntranceThickness = 0.025; //cm
double fRichExitWidth = 569.; //cm
double fRichExitHeight = 384.; //cm
double fRichExitThickness = 1; //cm
// Pipe parameters
double fPipeOuterRadiusEntrance = 7.42; //cm
double fPipeThicknessEntrance = 0.148; //cm
double fPipeOuterRadiusExit = 16.16; //cm
double fPipeThicknessExit = 0.32; //cm
double fPipeCylPartLen = 10.0; //cm
double fPipeOuterRadiusEntrance = 16.4; //cm
double fPipeThicknessEntrance = 0.3; //cm //in CAD 2mm with overlap regions with thickness 4.04mm
double fPipeOuterRadiusExit = 29.9; //cm
double fPipeThicknessExit = fPipeThicknessEntrance; //cm
double fPipeCylPartLen = 10.0; //cm
double fPipeLength = fRichLength + 0.5; //cm
// Mirror parameters
double fMirrorRadius = 300.; //cm
......@@ -70,7 +81,7 @@ private:
double fMirrorThetaStep = 8.1625; //deg
double fMirrorThetaGap = 0.0745; //deg
double fMirrorSupportAdd = 4.5; //cm
double fMirrorGapY = 0.1; // cm
double fMirrorGapY = 0.1; //cm
// PMT parameters
int fNofPixels = 8;
......@@ -87,7 +98,7 @@ private:
double fCameraTouchWidth = 15.75; //cm
// Sensitive plane parameters
double fSensPlaneZ = -70.; //cm
double fSensPlaneZ = -30.; //70.; //cm
// Calculated parameters. These parameters are calculated in CalculateParams()
double fCameraFullRotX = 0.;
......@@ -115,10 +126,12 @@ private:
TGeoVolume* CreateRichExit();
TGeoVolume* CreatePipe();
TGeoVolume* CreatePipeCyl();
TGeoVolumeAssembly* CreateSchieldingBox();
TGeoVolumeAssembly* CreateShieldingBox();
TGeoVolumeAssembly* CreateBeltAssembly();
TGeoVolumeAssembly* CreateMirrorSupportBelts();
TGeoVolumeAssembly* CreateMirrorSupportPillars();
TGeoVolume* CreateStuds(double zpos, double lenHalf, double angle);
TGeoVolume* CreatePillarConnection();
void CreateRich();
......
/* Copyright (C) 2022-2022 UGiessen/GSI, Giessen/Darmstadt
/* Copyright (C) 2022-2024 UGiessen/GSI, Giessen/Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Semen Lebedev [committer] */
Authors: Semen Lebedev [committer], Simon Neuhaus */
#ifndef RICH_GEO_MATERIALS
#define RICH_GEO_MATERIALS
......@@ -43,6 +43,8 @@ public:
fMediums["kapton"] = InitMedium("kapton");
fMediums["iron"] = InitMedium("iron");
fMediums["RICHgas_CO2_dis+"] = InitMedium("RICHgas_CO2_dis+");
fMediums["Polycarbonat"] = InitMedium("RICH_Polycarbonat");
fMediums["carbon"] = InitMedium("carbon");
}
TGeoMedium* GetMedium(const std::string& name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment