{ int mag_medium = 5 ; int coil_medium = 15 ; int endcap_medium = 19 ; float mag_dim[8] = { 22.5 , 360. , -192. , 170. , 190. , 192. , 170. , 190.}; float mag_pos[3] = { 0.0 , 0.0 , 0.0 }; float magv_dim[8] = { 22.5 , 360. , 167. , 120. , 190. , 192. , 120. , 190.}; float magv_pos[3] = { 0.0 , 0.0 , 0.0 } ; float magh_dim[8] = { 22.5 , 360. , -192. , 120. , 190. , -167. , 120. , 190. } ; float magh_pos[3] = { 0.0 , 0.0 , 0.0 }; float cry1_dim[3] = { 119. , 120.5 , 166. } ; float cry1_pos[3] = { 0.0 , 0.0 , 0.0 } ; float cry2_dim[3] = { 158.4 , 160. , 166. } ; float cry2_pos[3] = { 0.0 , 0.0 , 0.0 } ; float coil_dim[3] = { 140. , 146.5 , 145. } ; float coil_pos[3] = { 0.0 , 0.0 , 0.0 } ; float capv_dim[5] = { 12.5 , 0. , 120. , 0. , 134.4 }; float capv_pos[3] = { 0.0 , 0.0 , 179.5 }; float caph_dim[5] = { 12.5 , 0.0 , 134.4 , 0.0 , 120. }; float caph_pos[3] = { 0.0 , 0.0 , -179.5 }; float nul_rot[6] = {90.0 , 0.0 , 90.0 , 90.0 , 0.0 , 0.0 }; TGeoRotation *nullrot = new TGeoRotation("nullrot",nul_rot[0],nul_rot[1],nul_rot[2],nul_rot[3],nul_rot[4],nul_rot[5]); TGeoPcon *pgonmagv = new TGeoPcon(magv_dim[0] , magv_dim[1] ,2 ); pgonmagv->DefineSection( 0 , magv_dim[2] , magv_dim[3] , magv_dim[4] ); pgonmagv->DefineSection( 1 , magv_dim[5] , magv_dim[6] , magv_dim[7] ); TGeoVolume *MAGV = new TGeoVolume("MAGV", pgonmagv, medium[mag_medium-1]); gGeoManager->SetVolumeAttribute("MAGV","seen",1); gGeoManager->SetVolumeAttribute("MAGV","colo",13); TGeoPcon *pgonmag = new TGeoPgon(mag_dim[0] , mag_dim[1] , 8 ,2 ); pgonmag->DefineSection( 0 , mag_dim[2] , mag_dim[3] , mag_dim[4] ); pgonmag->DefineSection( 1 , mag_dim[5] , mag_dim[6] , mag_dim[7] ); TGeoVolume *MAGN = new TGeoVolume("MAGN", pgonmag, medium[mag_medium-1]); gGeoManager->SetVolumeAttribute("MAGN","seen",1); gGeoManager->SetVolumeAttribute("MAGN","colo",13); TGeoPcon *pgonmagh = new TGeoPcon(magh_dim[0] , magh_dim[1] ,2 ); pgonmagh->DefineSection( 0 , magh_dim[2] , magh_dim[3] , magh_dim[4] ); pgonmagh->DefineSection( 1 , magh_dim[5] , magh_dim[6] , magh_dim[7] ); TGeoVolume *MAGH = new TGeoVolume("MAGH", pgonmagh, medium[mag_medium-1]); gGeoManager->SetVolumeAttribute("MAGH","seen",1); gGeoManager->SetVolumeAttribute("MAGH","colo",13); TGeoVolume *CRY1 = gGeoManager -> MakeTube("CRY1",medium[mag_medium-1],cry1_dim[0],cry1_dim[1],cry1_dim[2]); gGeoManager->SetVolumeAttribute("CRY1","seen",1); gGeoManager->SetVolumeAttribute("CRY1","colo",10); TGeoVolume *CRY2 = gGeoManager -> MakeTube("CRY2",medium[mag_medium-1],cry2_dim[0],cry2_dim[1],cry2_dim[2]); gGeoManager->SetVolumeAttribute("CRY2","seen",1); gGeoManager->SetVolumeAttribute("CRY2","colo",10); TGeoVolume *COIL = gGeoManager -> MakeTube("COIL",medium[coil_medium-1],coil_dim[0],coil_dim[1],coil_dim[2]); gGeoManager->SetVolumeAttribute("COIL","seen",1); gGeoManager->SetVolumeAttribute("COIL","colo",14); TTUB->AddNode( MAGV , 1 , new TGeoCombiTrans( magv_pos[0] , magv_pos[1] , magv_pos[2] , nullrot )); TTUB->AddNode( MAGH , 1 , new TGeoCombiTrans( magh_pos[0] , magh_pos[1] , magh_pos[2] , nullrot )); TTUB->AddNode( MAGN , 1 , new TGeoCombiTrans( mag_pos[0] , mag_pos[1] , mag_pos[2] , nullrot )); TTUB->AddNode( CRY1 , 1 , new TGeoTranslation( cry1_pos[0] , cry1_pos[1] , cry1_pos[2] ) ); TTUB->AddNode( CRY2 , 1 , new TGeoTranslation( cry2_pos[0] , cry2_pos[1] , cry2_pos[2] ) ); TTUB->AddNode( COIL , 1 , new TGeoTranslation( coil_pos[0] , coil_pos[1] , coil_pos[2] ) ); // Clima Foil : // Dampfsperrfolie // A30 Alu/verbundfolie TL 8135 - 0003 - 1 // DIN 55 531 - 1 // Barrier Material // MIL/B 131 HTY 1 CL 1 DEF STAN 81-75/ // ca. 200C 2 BAR 2 SEC // WROT GmbH D-51688 WipperFeld // ------- 12 mu PET Folie (Density: 1,35 g/cm3 ) // ------- Kleber // ------- 12 mu Alu Folie // ------- Kleber // ------- 75 mu HDPE Folie (Density: 0.97 g/cm3) float climfoil_thickness = 0.1 ; float climfoil_hole_radius = 0. ; float climfoil_radius = 190.; float climfoil_thickness_fl = 0.0012 ; float climfoil_thickness_sl = 0.0012 ; float climfoil_thickness_tl = 0.0075 ; float clim_dim_fl[3] = {climfoil_hole_radius , climfoil_radius , climfoil_thickness_fl/2}; float clim_dim_sl[3] = {climfoil_hole_radius , climfoil_radius , climfoil_thickness_sl/2}; float clim_dim_tl[3] = {climfoil_hole_radius , climfoil_radius , climfoil_thickness_tl/2}; float clim_pos_fl[3] = { 0.0 , 0.0 , magv_dim[5]+climfoil_thickness_fl/2 }; float clim_pos_sl[3] = { 0.0 , 0.0 , magv_dim[5]+climfoil_thickness_sl/2+climfoil_thickness_fl }; float clim_pos_tl[3] = { 0.0 , 0.0 , magv_dim[5]+climfoil_thickness_tl/2+climfoil_thickness_fl+climfoil_thickness_sl }; int clim_fl_medium = 43; int clim_sl_medium = 26; int clim_tl_medium = 43; TGeoVolume *climfl = gGeoManager -> MakeTube("climfl",medium[clim_fl_medium-1],clim_dim_fl[0],clim_dim_fl[1],clim_dim_fl[2]); gGeoManager->SetVolumeAttribute("climfl","seen",1); gGeoManager->SetVolumeAttribute("climfl","colo",14); TGeoVolume *climsl = gGeoManager -> MakeTube("climsl",medium[clim_sl_medium-1],clim_dim_sl[0],clim_dim_sl[1],clim_dim_sl[2]); gGeoManager->SetVolumeAttribute("climsl","seen",1); gGeoManager->SetVolumeAttribute("climsl","colo",14); TGeoVolume *climtl = gGeoManager -> MakeTube("climtl",medium[clim_tl_medium-1],clim_dim_tl[0],clim_dim_tl[1],clim_dim_tl[2]); gGeoManager->SetVolumeAttribute("climtl","seen",1); gGeoManager->SetVolumeAttribute("climtl","colo",14); TTUB->AddNode(climfl,1.,new TGeoTranslation( clim_pos_fl[0] , clim_pos_fl[1] , clim_pos_fl[2] ) ); TTUB->AddNode(climsl,1.,new TGeoTranslation( clim_pos_sl[0] , clim_pos_sl[1] , clim_pos_sl[2] ) ); TTUB->AddNode(climtl,1.,new TGeoTranslation( clim_pos_tl[0] , clim_pos_tl[1] , clim_pos_tl[2] ) ); }