bool mc=true // // $Id: SiBaseGeometry_mc.rcp,v 1.5 2005/08/10 19:09:03 shfu Exp $ // // File: SiBaseGeometry.rcp // Purpose: Define the parameters needed to build the default SMT detector // Created: ??-Nov-1997 John Hobbs // // Feb 23, 2005 by Shaohua Fu // added Layer0 // SFL0_Feb_2005 // // $Revision: 1.5 $ // // -------------------------------------------------------------------- // Define the ladder types in terms of half width, half length and half // thickness // -------------------------------------------------------------------- //int nladder_types=2 // cmt.out SFL0_Feb_2005 int nladder_types=6 // SFL0_Feb_2005 float ld1_hwidth = 1.06 float ld1_hlength = 6.0 float ld1_hthick = 0.015 float ld1_awidth = 0.9610 float ld1_alength = 5.90205 float ld1_alcenter = 0.00735 // center - active center float ld1_awcenter = 0.0 float ld2_hwidth = 1.7 float ld2_hlength = 6.0 float ld2_hthick = 0.015 float ld2_awidth = 1.6092 float ld2_alength = 5.90228 float ld2_alcenter = 0.0 float ld2_awcenter = 0.0 // added SFL0_Feb_2005 // Layer 0A, short ladder float ld3_hwidth = 1.0108 float ld3_hlength = 3.5 float ld3_hthick = 0.016 float ld3_awidth = 0.9088 float ld3_alength = 3.3980 float ld3_alcenter = 0.0 float ld3_awcenter = 0.0 // Layer 0B, short ladder float ld4_hwidth = 1.1388 float ld4_hlength = 3.5 float ld4_hthick = 0.016 float ld4_awidth = 1.0368 float ld4_alength = 3.3980 float ld4_alcenter = 0.0 float ld4_awcenter = 0.0 // Layer 0A, long ladder float ld5_hwidth = 1.0108 float ld5_hlength = 6.0 float ld5_hthick = 0.016 float ld5_awidth = 0.9088 float ld5_alength = 5.8980 float ld5_alcenter = 0.0 float ld5_awcenter = 0.0 // Layer 0B, long ladder float ld6_hwidth = 1.1388 float ld6_hlength = 6.0 float ld6_hthick = 0.016 float ld6_awidth = 1.0368 float ld6_alength = 5.8980 float ld6_alcenter = 0.0 float ld6_awcenter = 0.0 // end of SFL0_Feb_2005 // -------------------------------------------------------------------- // Define the wedge types in terms of width, height and angle // (now two types are in place, type=1: H disks, type=2: F disks // -------------------------------------------------------------------- int nwedge_types=2 float w1_hwidth1 = 1.388 float w1_hwidth2 = 3.2344 float w1_hheight = 7.0122 float w1_hthick = 0.015 float w1_aheight = 7.0122 // sensitive volume height float w1_acenter = 0.0 // geom center - center of sensitive volume float w1_awidth1 = 1.388 float w1_awidth2 = 3.2344 float w2_hwidth1 = 0.83647 float w2_hwidth2 = 2.9605 float w2_hheight = 3.9635 float w2_hthick = 0.015 float w2_aheight = 3.83975 // sensitive volume height float w2_acenter = 0.01875 // geom center - center of sensitive volume float w2_awidth1 = 0.73488 float w2_awidth2 = 2.84257 //----------------------------------------------------------------------------- // Define 20 layer types. Eight define the "standard" barrel, positive Z // and double-sided. Define four more for the outer four layers for the // negative Z barrels. Define four more for the single-sided // positive layers. Define two more for the single-sided negative z barrels //----------------------------------------------------------------------------- //int nlayer_types = 22 // cmt.out SFL0_Feb_2005 int nlayer_types = 26 // SFL0_Feb_2005 // The first eight are for the central pair of positive z barrels int ly1_nladders = 6 float ly1_radius = 2.7071 float ly1_zhalf = 6.0 float ly1_phi0 = 0.0 int ly1_ladder_type = 1 bool ly1_ladder_flip = false float ly1_zpos = -0.00625 int ly2_nladders = 6 float ly2_radius = 3.6531 float ly2_zhalf = 6.0 float ly2_phi0 = 0.523598775 int ly2_ladder_type = 1 bool ly2_ladder_flip = true float ly2_zpos = -0.00625 int ly3_nladders = 6 float ly3_radius= 4.5419 float ly3_zhalf = 6.0 float ly3_phi0 = 0.523598775 int ly3_ladder_type = 2 bool ly3_ladder_flip = false float ly3_zpos = 0.0 int ly4_nladders = 6 float ly4_radius= 5.5621 float ly4_zhalf = 6.0 float ly4_phi0 = 0.0 int ly4_ladder_type = 2 bool ly4_ladder_flip = true float ly4_zpos = 0.0 int ly5_nladders = 12 float ly5_radius = 6.7598 float ly5_zhalf = 6.0 float ly5_phi0 = 0.130899693 int ly5_ladder_type = 1 bool ly5_ladder_flip = false float ly5_zpos = -0.00625 int ly6_nladders = 12 float ly6_radius = 7.5895 float ly6_zhalf = 6.0 float ly6_phi0 = 0.392699081 int ly6_ladder_type = 1 bool ly6_ladder_flip = true float ly6_zpos = -0.00625 int ly7_nladders = 12 float ly7_radius = 9.0935 float ly7_zhalf = 6.0 float ly7_phi0 = 0.392699081 int ly7_ladder_type = 2 bool ly7_ladder_flip = false float ly7_zpos = 0.0 int ly8_nladders = 12 float ly8_radius = 10.0593 float ly8_zhalf = 6.0 float ly8_phi0 = 0.130899693 int ly8_ladder_type = 2 bool ly8_ladder_flip = true float ly8_zpos = 0.0 // The next two are the inner two layers on the negative z barrels 2 and 3 int ly19_nladders = 6 float ly19_radius = 2.7071 float ly19_zhalf = 6.0 float ly19_phi0 = 0.0 int ly19_ladder_type = 1 bool ly19_ladder_flip = false float ly19_zpos = 0.00625 int ly20_nladders = 6 float ly20_radius = 3.6531 float ly20_zhalf = 6.0 float ly20_phi0 = 0.523598775 int ly20_ladder_type = 1 bool ly20_ladder_flip = true float ly20_zpos = 0.00625 // The next four are four the outer layers on the negative z barrels 2 and 3 int ly9_nladders = 12 float ly9_radius = 6.7598 float ly9_zhalf = 6.0 float ly9_phi0 = 0.392699081 // This is layer type 5, phi0 = pi - [5pi/6+phi0] int ly9_ladder_type = 1 bool ly9_ladder_flip = false float ly9_zpos = 0.00625 int ly10_nladders = 12 float ly10_radius = 7.5895 float ly10_zhalf = 6.0 float ly10_phi0 = 0.130899693 // This is layer type 6,phi0 = pi - [5pi/6+phi0] int ly10_ladder_type = 1 bool ly10_ladder_flip = true float ly10_zpos = 0.00625 int ly11_nladders = 12 float ly11_radius = 9.0935 float ly11_zhalf = 6.0 float ly11_phi0 = 0.130899693 // This is layer type 7,phi0 = pi - [5pi/6+phi0] int ly11_ladder_type = 2 bool ly11_ladder_flip = false float ly11_zpos = 0.0 int ly12_nladders = 12 float ly12_radius = 10.0593 float ly12_zhalf = 6.0 float ly12_phi0 = 0.392699081 // This is layer type 8,phi0 = pi - [5pi/6+phi0] int ly12_ladder_type = 2 bool ly12_ladder_flip = true float ly12_zpos = 0.0 // The next four are layers 1, 2, 5 and 6 for +ve z barrel 6. These have // opposite flip int ly13_nladders = 6 float ly13_radius = 2.7172 float ly13_zhalf = 6.0 float ly13_phi0 = 0.0 int ly13_ladder_type = 1 bool ly13_ladder_flip = true float ly13_zpos = 0.0 int ly14_nladders = 6 float ly14_radius = 3.6430 float ly14_zhalf = 6.0 float ly14_phi0 = 0.523598775 int ly14_ladder_type = 1 bool ly14_ladder_flip = false float ly14_zpos = 0.0 int ly15_nladders = 12 float ly15_radius = 6.7699 float ly15_zhalf = 6.0 float ly15_phi0 = 0.130899693 int ly15_ladder_type = 1 bool ly15_ladder_flip = true float ly15_zpos = 0.0 int ly16_nladders = 12 float ly16_radius = 7.5794 float ly16_zhalf = 6.0 float ly16_phi0 = 0.392699081 int ly16_ladder_type = 1 bool ly16_ladder_flip = false float ly16_zpos = 0.0 // The remaining four are layers 1,2,5 and 6 of barrel 1, and are the same as // layers 5 and 6 of barrel 2, with a ladder flip inversion int ly21_nladders = 6 float ly21_radius = 2.7172 float ly21_zhalf = 6.0 float ly21_phi0 = 0.0 int ly21_ladder_type = 1 bool ly21_ladder_flip = true float ly21_zpos = 0.0 int ly22_nladders = 6 float ly22_radius = 3.6430 float ly22_zhalf = 6.0 float ly22_phi0 = 0.523598775 int ly22_ladder_type = 1 bool ly22_ladder_flip = false float ly22_zpos = 0.0 int ly17_nladders = 12 float ly17_radius = 6.7699 float ly17_zhalf = 6.0 float ly17_phi0 = 0.392699081 // This is layer type 5,phi0 = pi - [5pi/6+phi0] int ly17_ladder_type = 1 bool ly17_ladder_flip = true float ly17_zpos = 0.0 int ly18_nladders = 12 float ly18_radius = 7.5794 float ly18_zhalf = 6.0 float ly18_phi0 = 0.130899693 // This is layer type 6,phi0 = pi - [5pi/6+phi0] int ly18_ladder_type = 1 bool ly18_ladder_flip = false float ly18_zpos = 0.0 // added SFL0_Feb_2005 // The following four are for layer0 // Layer 0A, inner four barrels (short ladders) int ly23_nladders = 3 float ly23_radius = 1.622 //1.606+0.016 float ly23_zhalf = 3.5 float ly23_phi0 = 0.2617993875 int ly23_ladder_type = 3 bool ly23_ladder_flip = false float ly23_zpos = 0.0 // Layer 0B, inner four barrels (short ladders) int ly24_nladders = 3 float ly24_radius = 1.781 //1.765+0.016 float ly24_zhalf = 3.5 float ly24_phi0 = 1.3089969375 int ly24_ladder_type = 4 bool ly24_ladder_flip = false float ly24_zpos = 0.0 // Layer 0A, outer four barrels (long ladders) int ly25_nladders = 3 float ly25_radius = 1.622 //1.606+0.016 float ly25_zhalf = 6.0 float ly25_phi0 = 0.2617993875 int ly25_ladder_type = 5 bool ly25_ladder_flip = false float ly25_zpos = 0.0 // Layer 0B, outer four barrels (long ladders) int ly26_nladders = 3 float ly26_radius = 1.781 //1.765+0.016 float ly26_zhalf = 6.0 float ly26_phi0 = 1.3089969375 int ly26_ladder_type = 6 bool ly26_ladder_flip = false float ly26_zpos = 0.0 // end of SFL0_Feb_2005 //-------------------------------------------------- // Define two wedgeholder types (each of two subdisks), // type=1: H disks, type=2: F disks //-------------------------------------------------- int nwedgeholder_types = 2 int wh1_nwedges = 2 float wh1_dhoffs = 0.1462 int wh1_wedge_type1 = 1 int wh1_wedge_type2 = 1 int wh2_nwedges = 1 float wh2_dhoffs = 0 int wh2_wedge_type1 = 2 //-------------------------------------------------- // Define two disk types (each of two subdisks), // type=1: H disks, type=2,3,4,5: F disks // (type 2(3) for disks 4..6(7..9), type 4(7) for disks // 1(12), type 5(8) for disks 2(11), type 6(9) for disks // 3(10)) //-------------------------------------------------- int ndisk_types = 9 int d1_nwholders = 24 float d1_radius = 16.4702 float d1_separation = 1.0874 float d1_phi0 = 0.0 float d1_phi1 = 0.261799387 int d1_wedgeholder_type = 1 bool d1_wedgeholder_flip = true bool d1_disk_flip = false int d2_nwholders = 12 float d2_radius = 6.5635 float d2_separation = 0.456 float d2_phi0 = 0.0 float d2_phi1 = 0.523598775 int d2_wedgeholder_type = 2 bool d2_wedgeholder_flip = true bool d2_disk_flip = true int d3_nwholders = 12 float d3_radius = 6.5635 float d3_separation = 0.456 float d3_phi0 = 0.0 float d3_phi1 = 0.523598775 int d3_wedgeholder_type = 2 bool d3_wedgeholder_flip = true bool d3_disk_flip = false int d4_nwholders = 12 float d4_radius = 6.5635 float d4_separation = 0.456 float d4_phi0 = 0.261799387 float d4_phi1 = 0.785398163 int d4_wedgeholder_type = 2 bool d4_wedgeholder_flip = true bool d4_disk_flip = false int d6_nwholders = 12 float d6_radius = 6.5635 float d6_separation = 0.456 float d6_phi0 = 0.392699081 float d6_phi1 = 0.916297856 int d6_wedgeholder_type = 2 bool d6_wedgeholder_flip = true bool d6_disk_flip = true int d5_nwholders = 12 float d5_radius = 6.5635 float d5_separation = 0.456 float d5_phi0 = 0.130899693 float d5_phi1 = 0.654498468 int d5_wedgeholder_type = 2 bool d5_wedgeholder_flip = true bool d5_disk_flip = true int d7_nwholders = 12 float d7_radius = 6.5635 float d7_separation = 0.456 float d7_phi0 = 0.261799387 float d7_phi1 = 0.785398163 int d7_wedgeholder_type = 2 bool d7_wedgeholder_flip = true bool d7_disk_flip = false int d8_nwholders = 12 float d8_radius = 6.5635 float d8_separation = 0.456 float d8_phi0 = 0.392699081 float d8_phi1 = 0.916297856 int d8_wedgeholder_type = 2 bool d8_wedgeholder_flip = true bool d8_disk_flip = false int d9_nwholders = 12 float d9_radius = 6.5635 float d9_separation = 0.456 float d9_phi0 = 0.130899693 float d9_phi1 = 0.654498468 int d9_wedgeholder_type = 2 bool d9_wedgeholder_flip = true bool d9_disk_flip = false //-------------------- // Define barrel types //-------------------- //int nbarrel_types = 4 // cmt.out SFL0_Feb_2005 int nbarrel_types = 8 // SFL0_Feb_2005 int b1_nlayers = 8 int b1_layer_type1 = 1 int b1_layer_type2 = 2 int b1_layer_type3 = 3 int b1_layer_type4 = 4 int b1_layer_type5 = 5 int b1_layer_type6 = 6 int b1_layer_type7 = 7 int b1_layer_type8 = 8 bool b1_spun = false // This is a positive Z barrel w/double sided silicon int b2_nlayers = 8 int b2_layer_type1 = 19 int b2_layer_type2 = 20 int b2_layer_type3 = 3 int b2_layer_type4 = 4 int b2_layer_type5 = 9 int b2_layer_type6 = 10 int b2_layer_type7 = 11 int b2_layer_type8 = 12 bool b2_spun = true // This is a negative Z barrel int b3_nlayers = 8 int b3_layer_type1 = 13 int b3_layer_type2 = 14 int b3_layer_type3 = 3 int b3_layer_type4 = 4 int b3_layer_type5 = 15 int b3_layer_type6 = 16 int b3_layer_type7 = 7 int b3_layer_type8 = 8 bool b3_spun = false // positive Z barrel w/some single sided silicon int b4_nlayers = 8 int b4_layer_type1 = 21 int b4_layer_type2 = 22 int b4_layer_type3 = 3 int b4_layer_type4 = 4 int b4_layer_type5 = 17 int b4_layer_type6 = 18 int b4_layer_type7 = 11 int b4_layer_type8 = 12 bool b4_spun = true // negative Z barrel w/some single-sided silicon // added SFL0_Feb_2005 // Positive Z inner two barrels (short ladders) int b5_nlayers = 2 int b5_layer_type1 = 23 int b5_layer_type2 = 24 bool b5_spun = false // This is a positive Z barrel // Negative Z inner two barrels (short ladders) int b6_nlayers = 2 int b6_layer_type1 = 23 int b6_layer_type2 = 24 bool b6_spun = true // This is a negative Z barrel // Positive Z outer two barrels (long ladders) int b7_nlayers = 2 int b7_layer_type1 = 25 int b7_layer_type2 = 26 bool b7_spun = false // This is a positive Z barrel // Negative Z outer two barrels (long ladders) int b8_nlayers = 2 int b8_layer_type1 = 25 int b8_layer_type2 = 26 bool b8_spun = true // This is a negative Z barrel // end of SFL0_Feb_2005 //------------------------------------------ // Define the central barrel/disk assemblies //------------------------------------------ int ncentral_types = 6 int ce1_nbarrels = 0 int ce1_barrel_type1 = 0 // No barrel, 3 disks in this central type float ce1_barrel_z = 0.0 // Negative z int ce1_ndisks = 3 int ce1_disk_type1 = 4 float ce1_disk_z1 = -5.0 int ce1_disk_type2 = 5 float ce1_disk_z2 = 0.0 int ce1_disk_type3 = 6 float ce1_disk_z3 = 5.0 int ce2_nbarrels = 1 // Negative z fully double-sided barrels used int ce2_barrel_type1 = 2 float ce2_barrel_z1 = 0.0 int ce2_ndisks = 1 int ce2_disk_type1 = 2 float ce2_disk_z1 = -6.35 bool ce2_disk_flip = true int ce3_nbarrels = 1 // Positive z fully double-sided barrels used int ce3_barrel_type1 = 1 float ce3_barrel_z1 = 0.0 int ce3_ndisks = 1 int ce3_disk_type1 = 3 float ce3_disk_z1 = 6.35 bool ce3_disk_flip = false int ce4_nbarrels = 1 // Positive z partially single-sided barrels used int ce4_barrel_type1 = 3 float ce4_barrel_z1 = 0.0 int ce4_ndisks = 1 int ce4_disk_type1 = 3 float ce4_disk_z1 = 6.35 bool ce4_disk_flip = false int ce5_nbarrels = 1 // Negative z partially single-sided barrels used int ce5_barrel_type1 = 4 float ce5_barrel_z1 = 0.0 int ce5_ndisks = 1 int ce5_disk_type1 = 2 float ce5_disk_z1 = -6.35 bool ce5_disk_flip = false int ce6_nbarrels = 0 int ce6_barrel_type1 = 0 // No barrel, 3 disks in this central type float ce6_barrel_z = 0.0 // Positive z int ce6_ndisks = 3 int ce6_disk_type1 = 9 float ce6_disk_z1 = -5.0 int ce6_disk_type2 = 8 float ce6_disk_z2 = 0.0 int ce6_disk_type3 = 7 float ce6_disk_z3 = 5.0 bool ce6_disk_flip = false //-------------------------------------------------------- // Define the center tracker. //-------------------------------------------------------- int ncenter_types = 1 int c1_ncentrals = 8 int c1_central_type1 = 1 float c1_central_z1 = -48.16635 int c1_central_type2 = 5 float c1_central_z2 = -31.76635 int c1_central_type3 = 2 float c1_central_z3 = -18.95385 int c1_central_type4 = 2 float c1_central_z4 = -6.14135 int c1_central_type5 = 3 float c1_central_z5 = 6.14135 int c1_central_type6 = 3 float c1_central_z6 = 18.95385 int c1_central_type7 = 4 float c1_central_z7 = 31.76635 int c1_central_type8 = 6 float c1_central_z8 = 48.16635 //---------------------------- // Define the end tracker //---------------------------- int nend_types = 2 int end1_ndisks = 2 float end1_disk_z1 = 0.0 int end1_disk_type1 = 1 float end1_disk_z2 = 20.555 int end1_disk_type2 = 1 int end2_ndisks = 2 float end2_disk_z1 = -20.555 int end2_disk_type1 = 1 float end2_disk_z2 = 0.0 int end2_disk_type2 = 1 // added SFL0_Feb_2005 //---------------------------- // Define the layer0 tracker //---------------------------- int nl0_types = 1 int l01_nbarrels = 8 int l01_barrel_type1 = 8 float l01_barrel_z1 = -32.5 int l01_barrel_type2 = 8 float l01_barrel_z2 = -20.4 int l01_barrel_type3 = 6 float l01_barrel_z3 = -10.8 int l01_barrel_type4 = 6 float l01_barrel_z4 = -3.7 int l01_barrel_type5 = 5 float l01_barrel_z5 = 3.7 int l01_barrel_type6 = 5 float l01_barrel_z6 = 10.8 int l01_barrel_type7 = 7 float l01_barrel_z7 = 20.4 int l01_barrel_type8 = 7 float l01_barrel_z8 = 32.5 // end of SFL0_Feb_2005 //------------------------------------------------------- // Define the full detector in terms of central and ends //------------------------------------------------------- int ncenters = 1 int nends = 2 float center1_z= 0.0 int center1_type = 1 float end1_z= -121. int end1_type = 1 float end2_z= 121. int end2_type = 2 // added SFL0_Feb_2005 int nlayer0s = 1 float l01_z = 0.0 int l01_type = 1 // end of SFL0_Feb_2005