Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:02

0001 
0002 void TPCInit() {}
0003 
0004 double TPC(PHG4Reco* g4Reco,
0005         double radius,
0006         const int absorberactive = 0,
0007         int verbosity = 0) {
0008 
0009   overlappcheck = 1;  
0010   if (radius > 21-1.17) {
0011     cout << "inconsistency: radius: " << radius 
0012      << " larger than tpc inner  radius: " << 21-1.17 << endl;
0013     gSystem->Exit(-1);
0014   }
0015   
0016   gSystem->Load("libg4tpc.so");
0017   gSystem->Load("libg4testbench.so");
0018 
0019   PHG4TPCSubsystem *tpc = new PHG4TPCSubsystem("TPC");
0020   tpc->SetActive();
0021   tpc->SuperDetector("TPC");
0022   // tpc_set_double_param("gas_inner_radius",21.);
0023   // tpc_set_double_param("gas_outer_radius",77.);
0024   // tpc_set_double_param("place_x", 0.);
0025   // tpc_set_double_param("place_y", 0.);
0026   // tpc_set_double_param("place_z", 0.);
0027   // tpc_set_double_param("rot_x", 0.);
0028   // tpc_set_double_param("rot_y", 0.);
0029   // tpc_set_double_param("rot_z", 0.);
0030   // tpc_set_double_param("tpc_length",211.);
0031 
0032   // tpc_set_double_param("steplimits", NAN);
0033 
0034   // tpc_set_string_param("tpc_gas", "sPHENIX_TPC_Gas");
0035 
0036 // material budget:
0037 // Cu (all layers): 0.5 oz cu per square foot, 1oz == 0.0347mm --> 0.5 oz ==  0.00347cm/2. 
0038 // Kapton insulation 18 layers of * 5mil = 18*0.0127=0.2286
0039 // 250 um FR4 (Substrate for Cu layers)
0040 // HoneyComb (nomex) 1/2 inch=0.5*2.54 cm
0041   // tpc_set_string_param("cage_layer_1_material","G4_Cu");
0042   // tpc_set_double_param("cage_layer_1_thickness",0.00347/2.);
0043 
0044   // tpc_set_string_param("cage_layer_2_material","FR4");
0045   // tpc_set_double_param("cage_layer_2_thickness",0.025);
0046 
0047   // tpc_set_string_param("cage_layer_3_material","NOMEX");
0048   // tpc_set_double_param("cage_layer_3_thickness",0.5*2.54);
0049 
0050   // tpc_set_string_param("cage_layer_4_material","G4_Cu");
0051   // tpc_set_double_param("cage_layer_4_thickness",0.00347/2.);
0052 
0053   // tpc_set_string_param("cage_layer_5_material","FR4");
0054   // tpc_set_double_param("cage_layer_5_thickness",0.025);
0055 
0056   // tpc_set_string_param("cage_layer_6_material","G4_KAPTON");
0057   // tpc_set_double_param("cage_layer_6_thickness",0.2286);
0058 
0059   // tpc_set_string_param("cage_layer_7_material","G4_Cu");
0060   // tpc_set_double_param("cage_layer_7_thickness",0.00347/2.);
0061 
0062   // tpc_set_string_param("cage_layer_8_material","G4_KAPTON");
0063   // tpc_set_double_param("cage_layer_8_thickness",0.05); // 50 um
0064 
0065   // tpc_set_string_param("cage_layer_9_material","G4_Cu");
0066   // tpc_set_double_param("cage_layer_9_thickness",0.00347/2.);
0067   if (absorberactive)  
0068     {
0069       tpc->SetAbsorberActive();
0070     }
0071   tpc->OverlapCheck(overlapcheck);
0072 
0073   g4Reco->registerSubsystem( tpc );  
0074 
0075   radius = 77.+1.17;
0076   
0077 
0078   radius += no_overlapp;
0079   
0080   return radius; 
0081 }