本文整理汇总了C++中TGeoVolume::SetVisContainers方法的典型用法代码示例。如果您正苦于以下问题:C++ TGeoVolume::SetVisContainers方法的具体用法?C++ TGeoVolume::SetVisContainers怎么用?C++ TGeoVolume::SetVisContainers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TGeoVolume
的用法示例。
在下文中一共展示了TGeoVolume::SetVisContainers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: create_dch_geo
void create_dch_geo(const char* geoTag)
{
fGlobalTrans->SetTranslation(0.0,0.0,0.0);
// ------- Load media from media file -----------------------------------
FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader");
FairGeoInterface* geoFace = geoLoad->getGeoInterface();
TString geoPath = gSystem->Getenv("VMCWORKDIR");
TString medFile = geoPath + "/geometry/media_r3b.geo";
geoFace->setMediaFile(medFile);
geoFace->readMedia();
gGeoMan = gGeoManager;
// --------------------------------------------------------------------------
// ------- Geometry file name (output) ----------------------------------
TString geoFileName = geoPath + "/geometry/dch_";
geoFileName = geoFileName + geoTag + ".geo.root";
// --------------------------------------------------------------------------
// ----------------- Get and create the required media -----------------
FairGeoMedia* geoMedia = geoFace->getMedia();
FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
FairGeoMedium* mAir = geoMedia->getMedium("Air");
if ( ! mAir ) Fatal("Main", "FairMedium Air not found");
geoBuild->createMedium(mAir);
TGeoMedium* pMed2 = gGeoMan->GetMedium("Air");
if ( ! pMed2 ) Fatal("Main", "Medium Air not found");
FairGeoMedium* mAl = geoMedia->getMedium("aluminium");
if ( ! mAl ) Fatal("Main", "FairMedium aluminium not found");
geoBuild->createMedium(mAl);
TGeoMedium* pMed21 = gGeoMan->GetMedium("aluminium");
if ( ! pMed21 ) Fatal("Main", "Medium aluminium not found");
FairGeoMedium* mMylar = geoMedia->getMedium("mylar");
if ( ! mMylar ) Fatal("Main", "FairMedium mylar not found");
geoBuild->createMedium(mMylar);
TGeoMedium* pMed15 = gGeoMan->GetMedium("mylar");
if ( ! pMed15 ) Fatal("Main", "Medium mylar not found");
FairGeoMedium* mHe = geoMedia->getMedium("helium");
if ( ! mHe ) Fatal("Main", "FairMedium helium not found");
geoBuild->createMedium(mHe);
TGeoMedium* pMed4 = gGeoMan->GetMedium("helium");
if ( ! pMed4 ) Fatal("Main", "Medium helium not found");
FairGeoMedium* mDCH = geoMedia->getMedium("DCHgas");
if ( ! mDCH ) Fatal("Main", "FairMedium DCHgas not found");
geoBuild->createMedium(mDCH);
TGeoMedium* pMed33 = gGeoMan->GetMedium("DCHgas");
if ( ! pMed33 ) Fatal("Main", "Medium DCHgas not found");
// --------------------------------------------------------------------------
// -------------- Create geometry and top volume -------------------------
gGeoMan = (TGeoManager*)gROOT->FindObject("FAIRGeom");
gGeoMan->SetName("DCHgeom");
TGeoVolume* top = new TGeoVolumeAssembly("TOP");
gGeoMan->SetTopVolume(top);
// --------------------------------------------------------------------------
Double_t dx,dy,dz;
Double_t theta, phi;
Double_t thx, phx, thy, phy, thz, phz;
Double_t alpha;
// Define DCH Geometry
TGeoVolume* topDCH = new TGeoVolumeAssembly("DCH");
//Active volume (envelope box enclosing the sense wires)
Double_t actGasDx = 99.07/2.; // [cm] //99.07326
Double_t actGasDy = 77.60/2.; // [cm] //77.59584
Double_t actGasDz = 5.20/2.; // [cm]
//distance of x and y planes centres is 4 cm. Distance between the first x halfplane and the second y halfplane is 4cm + 2*0.69*cos30 cm.
TGeoShape* pActGasBox = new TGeoBBox("ActGasBox",
actGasDx,
actGasDy,
actGasDz);
TGeoVolume*
pActGasDchLog = new TGeoVolume("ActGASBoxLog",pActGasBox, pMed33);
pActGasDchLog->SetVisLeaves(kTRUE);
pActGasDchLog->SetVisContainers(kTRUE);
// Gas box
Double_t gasDx = 106.4/2.; // [cm]
Double_t gasDy = 83.4/2.; // [cm]
//.........这里部分代码省略.........
示例2: Create_TOF_Geometry_v13_3b
void Create_TOF_Geometry_v13_3b() {
// Load the necessary FairRoot libraries
gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");
basiclibs();
gSystem->Load("libGeoBase");
gSystem->Load("libParBase");
gSystem->Load("libBase");
// Load needed material definition from media.geo file
create_materials_from_media_file();
// Get the GeoManager for later usage
gGeoMan = (TGeoManager*) gROOT->FindObject("FAIRGeom");
gGeoMan->SetVisLevel(5); // 2 = super modules
gGeoMan->SetVisOption(0);
// Create the top volume
/*
TGeoBBox* topbox= new TGeoBBox("", 1000., 1000., 1000.);
TGeoVolume* top = new TGeoVolume("top", topbox, gGeoMan->GetMedium("air"));
gGeoMan->SetTopVolume(top);
*/
TGeoVolume* top = new TGeoVolumeAssembly("TOP");
gGeoMan->SetTopVolume(top);
TGeoVolume* tof = new TGeoVolumeAssembly(geoVersion);
top->AddNode(tof, 1);
for(Int_t counterType = 0; counterType < NumberOfDifferentCounterTypes; counterType++) {
gCounter[counterType] = create_new_counter(counterType);
}
for(Int_t moduleType = 0; moduleType < NofModuleTypes; moduleType++) {
gModules[moduleType] = create_new_tof_module(moduleType);
gModules[moduleType]->SetVisContainers(1);
}
gPole = create_tof_pole();
position_side_tof_modules(1); // keep order !!
position_inner_tof_modules(3);
cout << "Outer Types "<<Outer_Module_Types[0][0]<<", "<<Outer_Module_Types[1][0]
<<", col=1: "<<Outer_Module_Types[0][1]<<", "<<Outer_Module_Types[1][1]
<<endl;
cout << "Outer Number "<<Outer_Module_Number[0][0]<<", "<<Outer_Module_Number[1][0]
<<", col=1: "<<Outer_Module_Number[0][1]<<", "<<Outer_Module_Number[1][1]
<<endl;
position_outer_tof_modules(4);
position_tof_poles(0);
position_tof_bars(0);
gGeoMan->CloseGeometry();
gGeoMan->CheckOverlaps(0.001);
gGeoMan->PrintOverlaps();
gGeoMan->Test();
TFile* outfile = new TFile(FileName,"RECREATE");
top->Write();
//gGeoMan->Write();
outfile->Close();
top->SetVisContainers(1);
gGeoMan->SetVisLevel(5);
top->Draw("ogl");
//top->Draw();
//gModules[0]->Draw("ogl");
// gModules[0]->Draw("");
gModules[0]->SetVisContainers(1);
// gModules[1]->Draw("");
gModules[1]->SetVisContainers(1);
//gModules[5]->Draw("");
// top->Raytrace();
}