本文整理汇总了C++中PHG4CylinderSubsystem::BlackHole方法的典型用法代码示例。如果您正苦于以下问题:C++ PHG4CylinderSubsystem::BlackHole方法的具体用法?C++ PHG4CylinderSubsystem::BlackHole怎么用?C++ PHG4CylinderSubsystem::BlackHole使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHG4CylinderSubsystem
的用法示例。
在下文中一共展示了PHG4CylinderSubsystem::BlackHole方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: G4Setup
//.........这里部分代码省略.........
// if (do_cemc) radius = CEmc_Vis(g4Reco, radius, 8, absorberactive);// for visualization substructure of SPACAL, slow to render
//----------------------------------------
// HCALIN
if (do_hcalin) radius = HCalInner(g4Reco, radius, 4, absorberactive);
//----------------------------------------
// MAGNET
if (do_magnet) radius = Magnet(g4Reco, radius, 0, absorberactive);
//----------------------------------------
// HCALOUT
if (do_hcalout) radius = HCalOuter(g4Reco, radius, 4, absorberactive);
//----------------------------------------
// FEMC
if ( do_FEMC )
FEMCSetup(g4Reco, absorberactive);
//----------------------------------------
// FHCAL
if ( do_FHCAL )
FHCALSetup(g4Reco, absorberactive);
// sPHENIX forward flux return(s)
PHG4CylinderSubsystem *flux_return_plus = new PHG4CylinderSubsystem("FWDFLUXRET", 0);
flux_return_plus->SetLength(10.2);
flux_return_plus->SetPosition(0,0,335.9);
flux_return_plus->SetRadius(5.0);
flux_return_plus->SetLengthViaRapidityCoverage(false);
flux_return_plus->SetThickness(263.5-5.0);
flux_return_plus->SetMaterial("G4_Fe");
flux_return_plus->SetActive(false);
flux_return_plus->SuperDetector("FLUXRET_ETA_PLUS");
flux_return_plus->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(flux_return_plus);
PHG4CylinderSubsystem *flux_return_minus = new PHG4CylinderSubsystem("FWDFLUXRET", 0);
flux_return_minus->SetLength(10.2);
flux_return_minus->SetPosition(0,0,-335.9);
flux_return_minus->SetRadius(5.0);
flux_return_minus->SetLengthViaRapidityCoverage(false);
flux_return_minus->SetThickness(263.5-5.0);
flux_return_minus->SetMaterial("G4_Fe");
flux_return_minus->SetActive(false);
flux_return_minus->SuperDetector("FLUXRET_ETA_MINUS");
flux_return_minus->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(flux_return_minus);
//----------------------------------------
// BLACKHOLE
// swallow all particles coming out of the backend of sPHENIX
PHG4CylinderSubsystem *blackhole = new PHG4CylinderSubsystem("BH", 1);
blackhole->SetRadius(radius + 10); // add 10 cm
blackhole->SetLengthViaRapidityCoverage(false);
blackhole->SetLength(g4Reco->GetWorldSizeZ() - no_overlapp); // make it cover the world in length
blackhole->BlackHole();
blackhole->SetThickness(0.1); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
//----------------------------------------
// FORWARD BLACKHOLEs
// +Z
blackhole = new PHG4CylinderSubsystem("BH_FORWARD_PLUS", 1);
blackhole->SuperDetector("BH_FORWARD_PLUS");
blackhole->SetRadius(0); // add 10 cm
blackhole->SetLengthViaRapidityCoverage(false);
blackhole->SetLength(0.1); // make it cover the world in length
blackhole->SetPosition(0,0, g4Reco->GetWorldSizeZ()/2. - 0.1 - no_overlapp);
blackhole->BlackHole();
blackhole->SetThickness(radius - no_overlapp); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
blackhole = new PHG4CylinderSubsystem("BH_FORWARD_NEG", 1);
blackhole->SuperDetector("BH_FORWARD_NEG");
blackhole->SetRadius(0); // add 10 cm
blackhole->SetLengthViaRapidityCoverage(false);
blackhole->SetLength(0.1); // make it cover the world in length
blackhole->SetPosition(0,0, - g4Reco->GetWorldSizeZ()/2. +0.1 + no_overlapp);
blackhole->BlackHole();
blackhole->SetThickness(radius - no_overlapp); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
PHG4TruthSubsystem *truth = new PHG4TruthSubsystem();
g4Reco->registerSubsystem(truth);
se->registerSubsystem( g4Reco );
}
示例2: G4Setup
//.........这里部分代码省略.........
stringline >> fieldstrength;
if (stringline.fail()) { // conversion to double fails -> we have a string
if (field.find("sPHENIX.root") != string::npos) {
g4Reco->set_field_map(field, PHFieldConfig::Field3DCartesian);
} else {
g4Reco->set_field_map(field, PHFieldConfig::kField2D);
}
} else {
g4Reco->set_field(fieldstrength); // use const soleniodal field
}
g4Reco->set_field_rescale(magfield_rescale);
double radius = 0.;
//----------------------------------------
// PIPE
if (do_pipe) radius = Pipe(g4Reco, radius, absorberactive);
//----------------------------------------
// TRACKING
if (do_tracking) radius = Tracking(g4Reco, radius, absorberactive);
//----------------------------------------
// PSTOF
if (do_pstof) radius = PSTOF(g4Reco, radius, absorberactive);
//----------------------------------------
// CEMC
//
if (do_cemc) radius = CEmc(g4Reco, radius, 8, absorberactive);
// if (do_cemc) radius = CEmc_Vis(g4Reco, radius, 8, absorberactive);// for visualization substructure of SPACAL, slow to render
//----------------------------------------
// HCALIN
if (do_hcalin) radius = HCalInner(g4Reco, radius, 4, absorberactive);
//----------------------------------------
// MAGNET
if (do_magnet) radius = Magnet(g4Reco, radius, 0, absorberactive);
//----------------------------------------
// HCALOUT
if (do_hcalout) radius = HCalOuter(g4Reco, radius, 4, absorberactive);
//----------------------------------------
// sPHENIX forward flux return door
if (do_plugdoor) PlugDoor(g4Reco, absorberactive);
//----------------------------------------
// BLACKHOLE
// swallow all particles coming out of the backend of sPHENIX
PHG4CylinderSubsystem *blackhole = new PHG4CylinderSubsystem("BH", 1);
blackhole->set_double_param("radius",radius + 10); // add 10 cm
blackhole->set_int_param("lengthviarapidity",0);
blackhole->set_double_param("length",g4Reco->GetWorldSizeZ() - no_overlapp); // make it cover the world in length
blackhole->BlackHole();
blackhole->set_double_param("thickness",0.1); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
//----------------------------------------
// FORWARD BLACKHOLEs
// +Z
blackhole = new PHG4CylinderSubsystem("BH_FORWARD_PLUS", 1);
blackhole->SuperDetector("BH_FORWARD_PLUS");
blackhole->set_double_param("radius",0); // add 10 cm
blackhole->set_int_param("lengthviarapidity",0);
blackhole->set_double_param("length",0.1); // make it cover the world in length
blackhole->set_double_param("place_z",g4Reco->GetWorldSizeZ()/2. - 0.1 - no_overlapp);
blackhole->BlackHole();
blackhole->set_double_param("thickness",radius - no_overlapp); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
blackhole = new PHG4CylinderSubsystem("BH_FORWARD_NEG", 1);
blackhole->SuperDetector("BH_FORWARD_NEG");
blackhole->set_double_param("radius",0); // add 10 cm
blackhole->set_int_param("lengthviarapidity",0);
blackhole->set_double_param("length",0.1); // make it cover the world in length
blackhole->set_double_param("place_z", - g4Reco->GetWorldSizeZ()/2. +0.1 + no_overlapp);
blackhole->BlackHole();
blackhole->set_double_param("thickness",radius - no_overlapp); // it needs some thickness
blackhole->SetActive(); // always see what leaks out
blackhole->OverlapCheck(overlapcheck);
g4Reco->registerSubsystem(blackhole);
PHG4TruthSubsystem *truth = new PHG4TruthSubsystem();
g4Reco->registerSubsystem(truth);
se->registerSubsystem( g4Reco );
return 0;
}