1 |
nikolas |
1.1 |
// $Id: g4Config.C,v 1.0 2007/06/01 Exp $ |
2 |
|
|
// |
3 |
|
|
// Configuration macro for Geant4 VirtualMC for PamG4VMC |
4 |
|
|
// for geometry defined with Root and selected Geant4 native navigation |
5 |
|
|
|
6 |
|
|
void Config() |
7 |
|
|
{ |
8 |
|
|
|
9 |
|
|
gSystem->Load("libG4phys_builders"); |
10 |
|
|
gSystem->Load("libG4phys_lists"); |
11 |
|
|
TString G4WD=gSystem->Getenv("G4WORKDIR"); |
12 |
|
|
TString PLAT=gSystem->Getenv("PLATFORM"); |
13 |
|
|
gSystem->Load(G4WD+"/lib/tgt_"+PLAT+"/libPamG4RunConfiguration"); |
14 |
|
|
cout<<G4WD+"/lib/tgt_"+PLAT+"/libPamG4RunConfiguration"; |
15 |
|
|
PamG4RunConfiguration* runConfiguration |
16 |
|
|
= new PamG4RunConfiguration("geomRootToGeant4"); |
17 |
|
|
|
18 |
|
|
// TG4RunConfiguration* runConfiguration |
19 |
|
|
// = new TG4RunConfiguration("geomRootToGeant4"); |
20 |
|
|
|
21 |
|
|
//set CUTS |
22 |
|
|
// TG4PhysicsListOptions options; |
23 |
|
|
// options.SetSpecialCutsPhysics(true); |
24 |
|
|
// options.SetEMPhysics(true); |
25 |
|
|
// options.SetMuonPhysics(true); |
26 |
|
|
// runConfiguration->SetPhysicsListOptions(options); |
27 |
|
|
|
28 |
|
|
|
29 |
|
|
// Switch on optical physics (not activated by default) |
30 |
|
|
/// TG4PhysicsListOptions options; |
31 |
|
|
////runConfiguration->SetPhysicsListOptions(options); |
32 |
|
|
// TGeant4 |
33 |
|
|
TGeant4* geant4 |
34 |
|
|
= new TGeant4("TGeant4_PAMELA", "The Geant4 PAMELA Monte Carlo", runConfiguration); |
35 |
|
|
// gMC->SetCut("CUTGAM", 1.0e-6); |
36 |
|
|
// gMC->SetCut("BCUTE", 1.0e-6); |
37 |
|
|
// gMC->SetCut("CUTELE", 1.0e-6); |
38 |
|
|
// gMC->SetCut("DCUTE", 1.0e-6); |
39 |
|
|
// gMC->SetCut("CUTNEU", 1.0e-6); |
40 |
|
|
// gMC->SetCut("CUTHAD", 1.0e-6); |
41 |
|
|
// gMC->SetCut("CUTMUO", 1.0e-6); |
42 |
|
|
// gMC->SetCut("DCUTM", 1.0e-6); |
43 |
|
|
// gMC->SetCut("BCUTM", 1.0e-6); |
44 |
|
|
// gMC->SetCut("PPCUTM", 1.0e-6); |
45 |
|
|
// gMC->SetCut("TOFMAX", 1.0e-3); |
46 |
|
|
// gMC->Gstpar(10,"LOSS",0.1); |
47 |
|
|
|
48 |
|
|
// TVirtualMCGeometry *geo = TG4GeometryManager::Instance()->GetMCGeometry(); |
49 |
|
|
geant4->ProcessGeantMacro("g4config.in"); |
50 |
|
|
// Customise Geant4 setting |
51 |
|
|
// (verbose level, global range cut, ..) |
52 |
|
|
|
53 |
|
|
|
54 |
|
|
} |