From 958d67f30e7ddfc333c7506c243a4f631c4dd8cb Mon Sep 17 00:00:00 2001 From: demezhan <myktybekov@jinr.ru> Date: Wed, 9 Sep 2020 13:13:36 +0300 Subject: [PATCH 1/4] Pipe geometry update --- SetEnv.sh | 4 +- geometry/pipe_v2.root | Bin 8942 -> 7152 bytes macro/mpd/geometry/pipe_v2.C | 236 --------------------------- macro/mpd/geometry/pipe_v3.C | 304 +++++++++++++++++++++++++++++++++++ macro/mpd/geometry_stage1.C | 2 +- macro/mpd/runMC.C | 2 +- 6 files changed, 308 insertions(+), 240 deletions(-) delete mode 100644 macro/mpd/geometry/pipe_v2.C create mode 100644 macro/mpd/geometry/pipe_v3.C diff --git a/SetEnv.sh b/SetEnv.sh index a63bf03c..5afebb42 100755 --- a/SetEnv.sh +++ b/SetEnv.sh @@ -3,9 +3,9 @@ SIMMACHINE=$(uname -n) # change SIMPATH if you installed FairSoft not to the '/opt/fairsoft/install' directory -export SIMPATH=/opt/fairsoft/install +export SIMPATH=~/proograms/fairsoft/install # change FAIRROOTPATH if you installed FairRoot not to the '/opt/fairroot/install' directory -export FAIRROOTPATH=/opt/fairroot/install +export FAIRROOTPATH=~/proograms/fairroot/install export ROOTSYS=$SIMPATH diff --git a/geometry/pipe_v2.root b/geometry/pipe_v2.root index 0ed1c06775501685118ee8e56f18da708fc34a90..502a3b633460d3033d582243c850466e25c3c19d 100644 GIT binary patch literal 7152 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 literal 8942 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 diff --git a/macro/mpd/geometry/pipe_v2.C b/macro/mpd/geometry/pipe_v2.C deleted file mode 100644 index c96c6f4c..00000000 --- a/macro/mpd/geometry/pipe_v2.C +++ /dev/null @@ -1,236 +0,0 @@ -// Geometry for pipe: aluminium + beryllium -// Demezhan Myktybekov myktybekov@jinr.ru -// July 2020 - - - -//--------------------------- - -#include <vector> -//--------------------------- -#include "TGeoManager.h" -#include "TGeoVolume.h" -#include "TGeoMedium.h" -#include "TFile.h" - -R__ADD_INCLUDE_PATH($VMCWORKDIR) -#include "macro/mpd/mpdloadlibs.C" - -//Pipe's position -const Double_t PIPE_Xpos = 0.0; -const Double_t PIPE_Ypos = 0.0; -const Double_t PIPE_Zpos = 0.0; - - -//media -TGeoMedium *pMedAir = 0; -TGeoMedium *pMedAluminium = 0; -TGeoMedium *pMedBeryllium = 0; -TGeoMedium *pMedVacuum = 0; -TGeoMedium *pMedSteel = 0; - -class FairGeoMedia; -class FairGeoBuilder; - - -void DefineRequiredMedia(FairGeoMedia* geoMedia, FairGeoBuilder* geoBuild); - -//__________________________________________________________________________ -void pipe_v2() -{ - - // ---- set working directory -------------------------------------------- - TString gPath = gSystem->Getenv("VMCWORKDIR"); - - // ------- Module file name (output) --------------------------------- - const TString geoModuleName = "pipe"; - const TString geoModuleVersion = "v2"; - TString geoFileName = gPath + "/geometry/" + geoModuleName + "_"+ geoModuleVersion + ".root"; - // ------------------------------------------------------------------------- - - // ---- global geometry parameters --------------------------------------- - FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader"); - FairGeoInterface* geoFace = geoLoad->getGeoInterface(); - - // ------- Load media from media file ---------------------------------- - TString medFile = gPath + "/geometry/media.geo"; - geoFace->setMediaFile(medFile); - geoFace->readMedia(); - FairGeoMedia* geoMedia = geoFace->getMedia(); - FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder(); - - DefineRequiredMedia(geoMedia, geoBuild); - // ------------------------------------------------------------------------- - - // -------------- Create geometry and global top volume ------------------------ - gGeoManager = (TGeoManager*)gROOT->FindObject("FAIRGeom"); - gGeoManager->SetName(geoModuleName + "_geom"); - TGeoVolume* top = new TGeoVolumeAssembly("TOP"); - top->SetMedium(pMedVacuum); - gGeoManager->SetTopVolume(top); - //gGeoMan->SetTopVisible(1); - // -------------------------------------------------------------------------- - TGeoTube* pipe_mother_vol_tube = new TGeoTube("pipe_mother_vol_tube", 0., 20., 897./2); - TGeoVolume* pipe_mother_vol = new TGeoVolume("pipe_mother_vol", pipe_mother_vol_tube); - pipe_mother_vol->SetMedium(pMedVacuum); - pipe_mother_vol->SetTransparency(95); - - TGeoTranslation* pipe_mother_vol_pos = new TGeoTranslation("pipe_mother_vol_pos", PIPE_Xpos, PIPE_Ypos, PIPE_Zpos); - - top->AddNode(pipe_mother_vol, 0, pipe_mother_vol_pos); - /////////////////////////////////////////////////////////////////////////////////// - //DONE!!! - // Define PIPE Geometry - TGeoTube* pipe_beryllium_inner = new TGeoTube("pipe_beryllium_inner", 3.1, 3.225, 169.4/2); - TGeoVolume* pipe_beryllium = new TGeoVolume("pipe_beryllium", pipe_beryllium_inner); - pipe_beryllium->SetLineColor(kRed); - pipe_beryllium->SetMedium(pMedBeryllium); - pipe_beryllium->SetTransparency(0); - - TGeoTranslation* pipe_beryllium_pos = new TGeoTranslation("pipe_beryllium_pos", PIPE_Xpos, PIPE_Ypos, PIPE_Zpos); - pipe_mother_vol->AddNode(pipe_beryllium, 0, pipe_beryllium_pos); - - - - TGeoTranslation *aluminium_inner_tube_location_right = new TGeoTranslation("aluminium_inner_tube_location_right", 0., 0., 86.675); - aluminium_inner_tube_location_right->RegisterYourself(); - TGeoTranslation *aluminium_inner_adapter_location_right = new TGeoTranslation("aluminium_inner_adapter_location_right", 0., 0., 92.225); - aluminium_inner_adapter_location_right->RegisterYourself(); - TGeoTranslation *aluminium_middle_tube_location_right = new TGeoTranslation("aluminium_middle_tube_location_right", 0., 0., 113.75); - aluminium_middle_tube_location_right->RegisterYourself(); - TGeoTranslation *aluminium_inner_flange_location_right = new TGeoTranslation("aluminium_inner_flange_location_right", 0., 0., 132.85); - aluminium_inner_flange_location_right->RegisterYourself(); - - TGeoTranslation *aluminium_inner_tube_location_left = new TGeoTranslation("aluminium_inner_tube_location_left", 0., 0., -86.675); - aluminium_inner_tube_location_left->RegisterYourself(); - TGeoTranslation *aluminium_inner_adapter_location_left = new TGeoTranslation("aluminium_inner_adapter_location_left", 0., 0., -92.225); - aluminium_inner_adapter_location_left->RegisterYourself(); - TGeoTranslation *aluminium_middle_tube_location_left = new TGeoTranslation("aluminium_middle_tube_location_left", 0., 0., -113.75); - aluminium_middle_tube_location_left->RegisterYourself(); - TGeoTranslation *aluminium_inner_flange_location_left = new TGeoTranslation("aluminium_inner_flange_location_left", 0., 0., -132.85); - aluminium_inner_flange_location_left->RegisterYourself(); - - TGeoTube *aluminium_inner_tube = new TGeoTube("aluminium_inner_tube", 3.1, 3.225, 3.95/2); - TGeoCone *aluminium_inner_adapter_right = new TGeoCone("aluminium_inner_adapter_right", 7.15/2, 3.1, 3.225, 4., 4.15); - TGeoCone *aluminium_inner_adapter_left = new TGeoCone("aluminium_inner_adapter_left", 7.15/2, 4., 4.15, 3.1, 3.225); - TGeoTube *aluminium_middle_tube = new TGeoTube("aluminium_middle_tube", 4., 4.15, 35.9/2); - TGeoTube *aluminium_inner_flange = new TGeoTube("aluminium_inner_flange", 4., 7.5, 2.3/2); - - TGeoCompositeShape *aluminium_composite_inner_right = new TGeoCompositeShape("aluminium_composite_inner_right", "(aluminium_inner_tube:aluminium_inner_tube_location_right + aluminium_inner_adapter_right:aluminium_inner_adapter_location_right + aluminium_middle_tube:aluminium_middle_tube_location_right + aluminium_inner_flange:aluminium_inner_flange_location_right)"); - TGeoVolume *volume_aluminium_composite_inner_right = new TGeoVolume ("volume_aluminium_composite_inner_right", aluminium_composite_inner_right, pMedAluminium); - volume_aluminium_composite_inner_right->SetLineColor(kYellow); - pipe_mother_vol->AddNode(volume_aluminium_composite_inner_right, 1, pipe_beryllium_pos); - - TGeoCompositeShape *aluminium_composite_inner_left = new TGeoCompositeShape("aluminium_composite_inner_left", "(aluminium_inner_tube:aluminium_inner_tube_location_left + aluminium_inner_adapter_left:aluminium_inner_adapter_location_left + aluminium_middle_tube:aluminium_middle_tube_location_left + aluminium_inner_flange:aluminium_inner_flange_location_left)"); - TGeoVolume *volume_aluminium_composite_inner_left = new TGeoVolume ("volume_aluminium_composite_inner_left", aluminium_composite_inner_left, pMedAluminium); - volume_aluminium_composite_inner_left->SetLineColor(kYellow); - pipe_mother_vol->AddNode(volume_aluminium_composite_inner_left, 2, pipe_beryllium_pos); - - - - TGeoTranslation *aluminium_outer_flange_small_location_right = new TGeoTranslation("aluminium_outer_flange_small_location_right", 0., 0., 135.15); - aluminium_outer_flange_small_location_right->RegisterYourself(); - TGeoTranslation *aluminium_outer_tube_small_location_right = new TGeoTranslation("aluminium_outer_tube_small_location_right", 0., 0., 191.3); - aluminium_outer_tube_small_location_right->RegisterYourself(); - TGeoTranslation *aluminium_middle_adapter_location_right = new TGeoTranslation("aluminium_middle_adapter_location_right", 0., 0., 282.2); - aluminium_middle_adapter_location_right->RegisterYourself(); - TGeoTranslation *aluminium_outer_tube_big_location_right = new TGeoTranslation("aluminium_outer_tube_big_location_right", 0., 0., 373.5); - aluminium_outer_tube_big_location_right->RegisterYourself(); - TGeoTranslation *aluminium_outer_flange_big_location_right = new TGeoTranslation("aluminium_outer_flange_big_location_right", 0., 0., 430.15); - aluminium_outer_flange_big_location_right->RegisterYourself(); - - TGeoTranslation *aluminium_outer_flange_small_location_left = new TGeoTranslation("aluminium_outer_flange_small_location_left", 0., 0., -135.15); - aluminium_outer_flange_small_location_left->RegisterYourself(); - TGeoTranslation *aluminium_outer_tube_small_location_left = new TGeoTranslation("aluminium_outer_tube_small_location_left", 0., 0., -191.3); - aluminium_outer_tube_small_location_left->RegisterYourself(); - TGeoTranslation *aluminium_middle_adapter_location_left = new TGeoTranslation("aluminium_middle_adapter_location_left", 0., 0., -282.2); - aluminium_middle_adapter_location_left->RegisterYourself(); - TGeoTranslation *aluminium_outer_tube_big_location_left = new TGeoTranslation("aluminium_outer_tube_big_location_left", 0., 0., -373.5); - aluminium_outer_tube_big_location_left->RegisterYourself(); - TGeoTranslation *aluminium_outer_flange_big_location_left = new TGeoTranslation("aluminium_outer_flange_big_location_left", 0., 0., -430.15); - aluminium_outer_flange_big_location_left->RegisterYourself(); - - TGeoTube *aluminium_outer_flange_small = new TGeoTube("aluminium_outer_flange_small", 4., 7.5, 2.3/2); - TGeoTube *aluminium_outer_tube_small = new TGeoTube("aluminium_outer_tube_small", 4., 4.15, 55.); - TGeoCone *aluminium_middle_adapter_right = new TGeoCone("aluminium_middle_adapter_right", 35.9, 4., 4.15, 6.35, 6.5); - TGeoCone *aluminium_middle_adapter_left = new TGeoCone("aluminium_middle_adapter_left", 35.9, 6.35, 6.5, 4., 4.15); - TGeoTube *aluminium_outer_tube_big = new TGeoTube("aluminium_outer_tube_big", 6.35, 6.5, 55.); - TGeoTube *aluminium_outer_flange_big = new TGeoTube("aluminium_outer_flange_big", 6.35, 10., 2.3/2); - - TGeoCompositeShape *aluminium_composite_outer_right = new TGeoCompositeShape("aluminium_composite_outer_right", "(aluminium_outer_flange_small:aluminium_outer_flange_small_location_right + aluminium_outer_tube_small:aluminium_outer_tube_small_location_right + aluminium_middle_adapter_right:aluminium_middle_adapter_location_right + aluminium_outer_tube_big:aluminium_outer_tube_big_location_right + aluminium_outer_flange_big:aluminium_outer_flange_big_location_right)"); - TGeoVolume *volume_aluminium_composite_outer_right = new TGeoVolume ("volume_aluminium_composite_outer_right", aluminium_composite_outer_right, pMedAluminium); - volume_aluminium_composite_outer_right->SetLineColor(kYellow); - pipe_mother_vol->AddNode(volume_aluminium_composite_outer_right, 3, pipe_beryllium_pos); - - TGeoCompositeShape *aluminium_composite_outer_left = new TGeoCompositeShape("aluminium_composite_outer_left", "(aluminium_outer_flange_small:aluminium_outer_flange_small_location_left + aluminium_outer_tube_small:aluminium_outer_tube_small_location_left + aluminium_middle_adapter_left:aluminium_middle_adapter_location_left + aluminium_outer_tube_big:aluminium_outer_tube_big_location_left + aluminium_outer_flange_big:aluminium_outer_flange_big_location_left)"); - TGeoVolume *volume_aluminium_composite_outer_left = new TGeoVolume ("volume_aluminium_composite_outer_left", aluminium_composite_outer_left, pMedAluminium); - volume_aluminium_composite_outer_left->SetLineColor(kYellow); - pipe_mother_vol->AddNode(volume_aluminium_composite_outer_left, 4, pipe_beryllium_pos); - - top->SetVisContainers(kTRUE); - - - // --------------- Finish ---------------------------------------------- - gGeoManager->CloseGeometry(); - gGeoManager->CheckOverlaps(0.001); - gGeoManager->PrintOverlaps(); - - gGeoManager->Test(); - - gGeoManager->SetMaxVisNodes(100000); - - TFile* geoFile = new TFile(geoFileName, "RECREATE"); - top->Write(); - geoFile->Close(); - - //if (wrGeoWithMaterials) - //{ - // TString geoFile_wMat = gPath + "/geometry/" + geoDetectorName + "_"+ geoDetectorVersion + "_with_materials.root"; - // gGeoManager->Export(geoFile_wMat); - //TString geoFile_gdml = gPath + "/geometry/" + geoDetectorName + "_"+ geoDetectorVersion + ".gdml"; - //gGeoManager->Export(geoFile_gdml); - //} - - top->Draw("ogl"); - TGLViewer *v = (TGLViewer*)gPad->GetViewer3D(); - v->SetStyle(TGLRnrCtx::kOutline); -} - -//__________________________________________________________________________ -void DefineRequiredMedia(FairGeoMedia* geoMedia, FairGeoBuilder* geoBuild) -{ - //air medium - FairGeoMedium* mAir = geoMedia->getMedium("air"); - if ( ! mAir ) Fatal("Main", "FairMedium air not found"); - geoBuild->createMedium(mAir); - pMedAir = gGeoManager->GetMedium("air"); - if ( ! pMedAir ) Fatal("Main", "Medium air not found"); - - //aluminium medium - FairGeoMedium* mAluminium = geoMedia->getMedium("aluminium"); - if ( ! mAluminium ) Fatal("Main", "FairMedium aluminium not found"); - geoBuild->createMedium(mAluminium); - pMedAluminium = gGeoManager->GetMedium("aluminium"); - if ( ! pMedAluminium ) Fatal("Main", "Medium aluminium not found"); - - //beryllium medium - FairGeoMedium* mBeryllium = geoMedia->getMedium("beryllium"); - if ( ! mBeryllium ) Fatal("Main", "FairMedium beryllium not found"); - geoBuild->createMedium(mBeryllium); - pMedBeryllium = gGeoManager->GetMedium("beryllium"); - if ( ! pMedBeryllium ) Fatal("Main", "Medium beryllium not found"); - - //vacuum medium - FairGeoMedium* mVacuum = geoMedia->getMedium("vacuum"); - if ( ! mVacuum ) Fatal("Main", "FairMedium vacuum not found"); - geoBuild->createMedium(mVacuum); - pMedVacuum = gGeoManager->GetMedium("vacuum"); - if ( ! pMedVacuum ) Fatal("Main", "Medium Vacuum not found"); - - //steel medium - FairGeoMedium* mSteel = geoMedia->getMedium("steel"); - if ( ! mSteel ) Fatal("Main", "FairMedium steel not found"); - geoBuild->createMedium(mSteel); - pMedSteel = gGeoManager->GetMedium("steel"); - if ( ! pMedSteel ) Fatal("Main", "Medium steel not found"); -} diff --git a/macro/mpd/geometry/pipe_v3.C b/macro/mpd/geometry/pipe_v3.C new file mode 100644 index 00000000..67133971 --- /dev/null +++ b/macro/mpd/geometry/pipe_v3.C @@ -0,0 +1,304 @@ +// Geometry for pipe: aluminium + beryllium +// Demezhan Myktybekov +// August 2020 +// myktybekov@jinr.ru + + +//--------------------------- + +#include <vector> +//--------------------------- +#include "TGeoManager.h" +#include "TGeoVolume.h" +#include "TGeoMedium.h" +#include "TFile.h" + +#include "../mpdloadlibs.C" + +//Pipe's position +const Double_t PIPE_Xpos = 0.0; +const Double_t PIPE_Ypos = 0.0; +const Double_t PIPE_Zpos = 0.0; +//Pipe's parameters +const Double_t beryllium_pipe_length = 169.4; +const Double_t beryllium_pipe_inner_radius = 3.1; +const Double_t beryllium_pipe_outer_radius = 3.225; + +const Double_t aluminium_pipe_small_length = 3.95; +const Double_t aluminium_pipe_small_inner_radius = 3.1; +const Double_t aluminium_pipe_small_outer_radius = 3.225; + +const Double_t aluminium_adapter_small_length = 7.15; +const Double_t aluminium_adapter_small_inner_radius_top = 3.1; +const Double_t aluminium_adapter_small_outer_radius_top = 3.225; +const Double_t aluminium_adapter_small_inner_radius_bottom = 4.0; +const Double_t aluminium_adapter_small_outer_radius_bottom = 4.15; + +const Double_t aluminium_pipe_middle_inside_length = 36.7;//35.9; gap with FFD +const Double_t aluminium_pipe_middle_inside_inner_radius = 4.0; +const Double_t aluminium_pipe_middle_inside_outer_radius = 4.15; + +const Double_t aluminium_inner_flange_small_length = 1.5;//2.3; gap with FFD +const Double_t aluminium_inner_flange_small_inner_radius = 4.; +const Double_t aluminium_inner_flange_small_outer_radius = 7.5; + +const Double_t aluminium_outer_flange_small_length = 2.3; +const Double_t aluminium_outer_flange_small_inner_radius = 4.; +const Double_t aluminium_outer_flange_small_outer_radius = 7.5; + +const Double_t aluminium_pipe_middle_outside_length = 55.0 * 2; +const Double_t aluminium_pipe_middle_outside_inner_radius = 4.0; +const Double_t aluminium_pipe_middle_outside_outer_radius = 4.15; + +const Double_t aluminium_adapter_big_length = 35.9 * 2; +const Double_t aluminium_adapter_big_inner_radius_top = 4.0; +const Double_t aluminium_adapter_big_outer_radius_top = 4.15; +const Double_t aluminium_adapter_big_inner_radius_bottom = 6.35; +const Double_t aluminium_adapter_big_outer_radius_bottom = 6.5; + +const Double_t aluminium_pipe_big_outside_length = 55.0 * 2; +const Double_t aluminium_pipe_big_outside_inner_radius = 6.35; +const Double_t aluminium_pipe_big_outside_outer_radius = 6.5; + +const Double_t aluminium_outer_flange_big_length = 2.3; +const Double_t aluminium_outer_flange_big_inner_radius = 6.35; +const Double_t aluminium_outer_flange_big_outer_radius = 10.; + + +//media +TGeoMedium *pMedAir = 0; +TGeoMedium *pMedAluminium = 0; +TGeoMedium *pMedBeryllium = 0; +TGeoMedium *pMedVacuum = 0; +TGeoMedium *pMedSteel = 0; + +class FairGeoMedia; +class FairGeoBuilder; + +void DefineRequiredMedia(FairGeoMedia* geoMedia, FairGeoBuilder* geoBuild); +void pipe_v3() +{ + // Load necessary libraries + //gROOT->LoadMacro("$VMCWORKDIR/macro/mpd/mpdloadlibs.C"); + //mpdloadlibs(); // load libraries + + // ---- set working directory -------------------------------------------- + TString gPath = gSystem->Getenv("VMCWORKDIR"); + + // ------- Module file name (output) --------------------------------- + const TString geoModuleName = "pipe"; + const TString geoModuleVersion = "v3"; + TString geoFileName = gPath + "/geometry/" + geoModuleName + "_"+ geoModuleVersion + ".root"; + // ------------------------------------------------------------------------- + + // ---- global geometry parameters --------------------------------------- + FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader"); + FairGeoInterface* geoFace = geoLoad->getGeoInterface(); + + // ------- Load media from media file ---------------------------------- + TString medFile = gPath + "/geometry/media.geo"; + geoFace->setMediaFile(medFile); + geoFace->readMedia(); + FairGeoMedia* geoMedia = geoFace->getMedia(); + FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder(); + + DefineRequiredMedia(geoMedia, geoBuild); + // ------------------------------------------------------------------------- + + // -------------- Create geometry and global top volume ------------------------ + gGeoManager = (TGeoManager*)gROOT->FindObject("FAIRGeom"); + gGeoManager->SetName(geoModuleName + "_geom"); + TGeoVolume* top = new TGeoVolumeAssembly("TOP"); + top->SetMedium(pMedVacuum); + gGeoManager->SetTopVolume(top); + // Define mother volume + //TGeoTranslation* mother_vol_pos = new TGeoTranslation("mother_vol_pos", PIPE_Xpos, PIPE_Ypos, PIPE_Zpos); + TGeoVolume *mother_vol = gGeoManager->MakePcon("MOTHER_PCON_VOLUME", pMedVacuum, 0.0, 360.0, 22); + TGeoPcon *mother_pcon = (TGeoPcon*)(mother_vol->GetShape()); + mother_pcon->DefineSection(0, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length + aluminium_outer_flange_big_length), + aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + + mother_pcon->DefineSection(1, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length), + aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + + mother_pcon->DefineSection(2, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length), + aluminium_pipe_big_outside_inner_radius, aluminium_pipe_big_outside_outer_radius); + + mother_pcon->DefineSection(3, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length), + aluminium_adapter_big_inner_radius_bottom, aluminium_adapter_big_outer_radius_bottom); + + mother_pcon->DefineSection(4, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length), + aluminium_adapter_big_inner_radius_top, aluminium_adapter_big_outer_radius_top); + + mother_pcon->DefineSection(5, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length), + aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + + mother_pcon->DefineSection(6, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length), + aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + + mother_pcon->DefineSection(7, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length), + aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + + mother_pcon->DefineSection(8, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length), + aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + + mother_pcon->DefineSection(9, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length), + aluminium_adapter_small_inner_radius_bottom, aluminium_adapter_small_outer_radius_bottom); + mother_pcon->DefineSection(10, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length), + aluminium_pipe_small_inner_radius, aluminium_pipe_small_outer_radius); + mother_pcon->DefineSection(11, beryllium_pipe_length / 2 + aluminium_pipe_small_length, + aluminium_pipe_small_inner_radius, aluminium_pipe_small_outer_radius); + mother_pcon->DefineSection(12, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length, + aluminium_adapter_small_inner_radius_bottom, aluminium_adapter_small_outer_radius_bottom); + mother_pcon->DefineSection(13, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length, + aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + + mother_pcon->DefineSection(14, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length, + aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + + mother_pcon->DefineSection(15, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length, + aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + + mother_pcon->DefineSection(16, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length, + aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + + mother_pcon->DefineSection(17, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length, + aluminium_adapter_big_inner_radius_top, aluminium_adapter_big_outer_radius_top); + + mother_pcon->DefineSection(18, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length, + aluminium_adapter_big_inner_radius_bottom, aluminium_adapter_big_outer_radius_bottom); + + mother_pcon->DefineSection(19, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length, + aluminium_pipe_big_outside_inner_radius, aluminium_pipe_big_outside_outer_radius); + + mother_pcon->DefineSection(20, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length, + aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + + mother_pcon->DefineSection(21, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length + aluminium_outer_flange_big_length, + aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + mother_vol->SetLineColor(kRed); + mother_vol->SetTransparency(95); + top->AddNode(mother_vol,1); + + // Define PIPE Geometry + TGeoTube* pipe_beryllium_inner = new TGeoTube("pipe_beryllium_inner", 3.1, 3.225, 169.4/2); + TGeoVolume* pipe_beryllium = new TGeoVolume("pipe_beryllium", pipe_beryllium_inner); + pipe_beryllium->SetLineColor(kRed); + pipe_beryllium->SetMedium(pMedBeryllium); + pipe_beryllium->SetTransparency(0); + + TGeoTranslation* pipe_beryllium_pos = new TGeoTranslation("pipe_beryllium_pos", PIPE_Xpos, PIPE_Ypos, PIPE_Zpos); + mother_vol->AddNode(pipe_beryllium, 0, pipe_beryllium_pos); + + TGeoVolume *vol1 = gGeoManager->MakePcon("PCON1", pMedAluminium, 0.0, 360.0, 6); + TGeoPcon *pcon1 = (TGeoPcon*)(vol1->GetShape()); + pcon1->DefineSection(0,beryllium_pipe_length / 2, aluminium_pipe_small_inner_radius, aluminium_pipe_small_outer_radius); + pcon1->DefineSection(1,beryllium_pipe_length / 2 + aluminium_pipe_small_length, aluminium_adapter_small_inner_radius_top, aluminium_adapter_small_outer_radius_top); + pcon1->DefineSection(2,beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length, aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + pcon1->DefineSection(3,beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length, aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + pcon1->DefineSection(4,beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length, aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + pcon1->DefineSection(5,beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length, aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + + + TGeoVolume *vol2 = gGeoManager->MakePcon("PCON2", pMedAluminium, 0.0, 360.0, 6); + TGeoPcon *pcon2 = (TGeoPcon*)(vol2->GetShape()); + pcon2->DefineSection(0, -(beryllium_pipe_length / 2), aluminium_pipe_small_inner_radius, aluminium_pipe_small_outer_radius); + pcon2->DefineSection(1, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length), aluminium_adapter_small_inner_radius_top, aluminium_adapter_small_outer_radius_top); + pcon2->DefineSection(2, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length), aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + pcon2->DefineSection(3, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length), aluminium_pipe_middle_inside_inner_radius, aluminium_pipe_middle_inside_outer_radius); + pcon2->DefineSection(4, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length), aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + pcon2->DefineSection(5, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length), aluminium_inner_flange_small_inner_radius, aluminium_inner_flange_small_outer_radius); + + TGeoVolume *vol3 = gGeoManager->MakePcon("PCON3", pMedAluminium, 0.0, 360.0, 8); + TGeoPcon *pcon3 = (TGeoPcon*)(vol3->GetShape()); + pcon3->DefineSection(0, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length, aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + pcon3->DefineSection(1, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length, aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + pcon3->DefineSection(2, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length, aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + pcon3->DefineSection(3, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length, aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + pcon3->DefineSection(4, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length, aluminium_adapter_big_inner_radius_bottom, aluminium_adapter_big_outer_radius_bottom); + pcon3->DefineSection(5, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length, aluminium_pipe_big_outside_inner_radius, aluminium_pipe_big_outside_outer_radius); + pcon3->DefineSection(6, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length, aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + pcon3->DefineSection(7, beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length + aluminium_outer_flange_big_length, aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + + + TGeoVolume *vol4 = gGeoManager->MakePcon("PCON4", pMedAluminium, 0.0, 360.0, 8); + TGeoPcon *pcon4 = (TGeoPcon*)(vol4->GetShape()); + pcon4->DefineSection(0, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length), aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + pcon4->DefineSection(1, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length), aluminium_outer_flange_small_inner_radius, aluminium_outer_flange_small_outer_radius); + pcon4->DefineSection(2, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length), aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + pcon4->DefineSection(3, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length), aluminium_pipe_middle_outside_inner_radius, aluminium_pipe_middle_outside_outer_radius); + pcon4->DefineSection(4, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length), aluminium_adapter_big_inner_radius_bottom, aluminium_adapter_big_outer_radius_bottom); + pcon4->DefineSection(5, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length), aluminium_pipe_big_outside_inner_radius, aluminium_pipe_big_outside_outer_radius); + pcon4->DefineSection(6, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length), aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + pcon4->DefineSection(7, -(beryllium_pipe_length / 2 + aluminium_pipe_small_length + aluminium_adapter_small_length + aluminium_pipe_middle_inside_length + aluminium_inner_flange_small_length + aluminium_outer_flange_small_length + aluminium_pipe_middle_outside_length + aluminium_adapter_big_length + aluminium_pipe_big_outside_length + aluminium_outer_flange_big_length), aluminium_outer_flange_big_inner_radius, aluminium_outer_flange_big_outer_radius); + + vol1->SetLineColor(kYellow); + vol2->SetLineColor(kYellow); + vol3->SetLineColor(kGreen); + vol4->SetLineColor(kGreen); + + mother_vol->AddNode(vol1,1); + mother_vol->AddNode(vol2,1); + mother_vol->AddNode(vol3,1); + mother_vol->AddNode(vol4,1); + + gGeoManager->SetNsegments(30); + top->SetVisContainers(kTRUE); + + + // --------------- Finish ---------------------------------------------- + gGeoManager->CloseGeometry(); + gGeoManager->CheckOverlaps(0.001); + gGeoManager->PrintOverlaps(); + + gGeoManager->Test(); + + gGeoManager->SetMaxVisNodes(100000); + + TFile* geoFile = new TFile(geoFileName, "RECREATE"); + top->Write(); + geoFile->Close(); + + top->Draw("ogl"); + TGLViewer *v = (TGLViewer*)gPad->GetViewer3D(); + v->SetStyle(TGLRnrCtx::kOutline); +} + +//__________________________________________________________________________ +void DefineRequiredMedia(FairGeoMedia* geoMedia, FairGeoBuilder* geoBuild) +{ + //air medium + FairGeoMedium* mAir = geoMedia->getMedium("air"); + //if ( ! mAir ) Fatal("Main", "FairMedium air not found"); + geoBuild->createMedium(mAir); + pMedAir = gGeoManager->GetMedium("air"); + //if ( ! pMedAir ) Fatal("Main", "Medium air not found"); + + //aluminium medium + FairGeoMedium* mAluminium = geoMedia->getMedium("aluminium"); + //if ( ! mAluminium ) Fatal("Main", "FairMedium aluminium not found"); + geoBuild->createMedium(mAluminium); + pMedAluminium = gGeoManager->GetMedium("aluminium"); + //if ( ! pMedAluminium ) Fatal("Main", "Medium aluminium not found"); + + //beryllium medium + FairGeoMedium* mBeryllium = geoMedia->getMedium("beryllium"); + //if ( ! mBeryllium ) Fatal("Main", "FairMedium beryllium not found"); + geoBuild->createMedium(mBeryllium); + pMedBeryllium = gGeoManager->GetMedium("beryllium"); + //if ( ! pMedBeryllium ) Fatal("Main", "Medium beryllium not found"); + + //vacuum medium + FairGeoMedium* mVacuum = geoMedia->getMedium("vacuum"); + //if ( ! mVacuum ) Fatal("Main", "FairMedium vacuum not found"); + geoBuild->createMedium(mVacuum); + pMedVacuum = gGeoManager->GetMedium("vacuum"); + //if ( ! pMedVacuum ) Fatal("Main", "Medium Vacuum not found"); + + //steel medium + FairGeoMedium* mSteel = geoMedia->getMedium("steel"); + //if ( ! mSteel ) Fatal("Main", "FairMedium steel not found"); + geoBuild->createMedium(mSteel); + pMedSteel = gGeoManager->GetMedium("steel"); + //if ( ! pMedSteel ) Fatal("Main", "Medium steel not found"); +} diff --git a/macro/mpd/geometry_stage1.C b/macro/mpd/geometry_stage1.C index a4a054c2..d0e60d35 100644 --- a/macro/mpd/geometry_stage1.C +++ b/macro/mpd/geometry_stage1.C @@ -9,7 +9,7 @@ void geometry_stage1(FairRunSim *fRun) { fRun->AddModule(Cave); FairModule *Pipe = new FairPipe("PIPE"); - Pipe->SetGeometryFileName("pipe_v2.root"); + Pipe->SetGeometryFileName("pipe_v3.root"); fRun->AddModule(Pipe); FairModule *Magnet = new FairMagnet("MAGNET"); diff --git a/macro/mpd/runMC.C b/macro/mpd/runMC.C index 06b724c1..a1f402a2 100644 --- a/macro/mpd/runMC.C +++ b/macro/mpd/runMC.C @@ -37,7 +37,7 @@ R__ADD_INCLUDE_PATH($VMCWORKDIR) #include "macro/mpd/geometry_stage1.C" //#include "macro/mpd/geometry_v2.C" -#define HADGEN // Choose generator: URQMD VHLLE FLUID PART ION BOX HSD LAQGSM SMASH +#define BOX // Choose generator: URQMD VHLLE FLUID PART ION BOX HSD LAQGSM SMASH #define GEANT3 // Choose: GEANT3 GEANT4 // inFile - input file with generator data, default: auau.09gev.mbias.98k.ftn14 -- GitLab From 397b197ef914b8b13d0bfd0eab4becb474434503 Mon Sep 17 00:00:00 2001 From: demezhan <myktybekov@jinr.ru> Date: Wed, 9 Sep 2020 13:25:10 +0300 Subject: [PATCH 2/4] Pipe geometry update --- geometry/{pipe_v2.root => pipe_v3.root} | Bin 7152 -> 7152 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename geometry/{pipe_v2.root => pipe_v3.root} (90%) diff --git a/geometry/pipe_v2.root b/geometry/pipe_v3.root similarity index 90% rename from geometry/pipe_v2.root rename to geometry/pipe_v3.root index 502a3b633460d3033d582243c850466e25c3c19d..760cbed0f4613f0fa2819397d24493d1e249d89a 100644 GIT binary patch delta 200 zcmexh{=s~LzCdWS?6*%Xg0E&OGBPsM?|VPdQB9J8;THo70|P^MTF}KG4EYR<Kz0fc zGfbW+?Z;?5@vNVrv0hPrehC8uD@X|t{{+ge2jYD|3|7j(Aa#O)5n=jdA4XYbpt{XD zj4N2d3~}~7!XU=vYf@2+#*+=DMZvrrMm;g0A(dbkaDj~myFj{p@;#{_L72rrH%Wge IH=V)&09*z>F8}}l delta 200 zcmexh{=s~LzQFHp&4!PM1z)YHVPs^e-}io^qnacG!!HIF1_p-iw17v481fkyf$S6@ zW|%xt+K<s_;#ogKBfX;h{1OHRR*(`PJ`9vy55)U`7_5|mLFxnpBf|8_K8&)=Ky{mQ z7+0`@8RG1Fgh7nS*QBBtjV2pPi-LJMjCx`~Ln^^8-~t;Bc7b&H<a<&<f-sALZj$~` IZaRel04AnCBLDyZ -- GitLab From 4957fe5eebd6c91343942e01ba1dc434055aff47 Mon Sep 17 00:00:00 2001 From: demezhan <myktybekov@jinr.ru> Date: Wed, 9 Sep 2020 13:29:26 +0300 Subject: [PATCH 3/4] Pipe geometry update --- macro/mpd/runMC.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macro/mpd/runMC.C b/macro/mpd/runMC.C index a1f402a2..06b724c1 100644 --- a/macro/mpd/runMC.C +++ b/macro/mpd/runMC.C @@ -37,7 +37,7 @@ R__ADD_INCLUDE_PATH($VMCWORKDIR) #include "macro/mpd/geometry_stage1.C" //#include "macro/mpd/geometry_v2.C" -#define BOX // Choose generator: URQMD VHLLE FLUID PART ION BOX HSD LAQGSM SMASH +#define HADGEN // Choose generator: URQMD VHLLE FLUID PART ION BOX HSD LAQGSM SMASH #define GEANT3 // Choose: GEANT3 GEANT4 // inFile - input file with generator data, default: auau.09gev.mbias.98k.ftn14 -- GitLab From f77c00b2a289c874c2660cc6fbe557bde8878530 Mon Sep 17 00:00:00 2001 From: Demezhan Myktybekov <myktybekov@jinr.ru> Date: Wed, 9 Sep 2020 13:36:23 +0300 Subject: [PATCH 4/4] Update SetEnv.sh --- SetEnv.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SetEnv.sh b/SetEnv.sh index 5afebb42..a63bf03c 100755 --- a/SetEnv.sh +++ b/SetEnv.sh @@ -3,9 +3,9 @@ SIMMACHINE=$(uname -n) # change SIMPATH if you installed FairSoft not to the '/opt/fairsoft/install' directory -export SIMPATH=~/proograms/fairsoft/install +export SIMPATH=/opt/fairsoft/install # change FAIRROOTPATH if you installed FairRoot not to the '/opt/fairroot/install' directory -export FAIRROOTPATH=~/proograms/fairroot/install +export FAIRROOTPATH=/opt/fairroot/install export ROOTSYS=$SIMPATH -- GitLab