G3PTSim

Contents

Contact Name

Sue Kasahara.

Overview

The G3PTSim package contains the Geant3 concrete implementation of the virtual Monte Carlo. The code is a replica of ROOT's geant3_vmc source code, but customized for MINOS use. It contains the complete Geant3 source code, a subset of required Cernlib routines, and the TGeant3 VMC interface code and associated Fortran wrappers. The package includes a GNUmakefile and can be built to a shared library like any other package in the minossoft framework.

Configuring & Running

The G3PTSim package is used during running of the ParticleTransportSim particle transport simulation and the GeoSwimmer during track reconstruction. An example of use in the ParticleTransportSim simulation is given in ParticleTransportSim/macro/PTSim_testG3.C. This macro in turn passes the macro ParticleTransportSim/macro/PTSim_g3Config.C to the PTSimModule. It is through this configuration script that the user constructs and configures the concrete VMC TGeant3. For example:
//
// FileName: PTSim_g3Config.C
// Purpose: This script constructs and configures the concrete VMC TGeant3
// Usage: Specify this configuration script to PTSimModule in ptsim
//        job script via:
//   jc.Path("Reco").Mod("PTSimModule").Set("MCConfig=PTSim_g3Config.C");
// Author: S. Kasahara 2004/10/11.
//         Adapted from g3Config.C in geant4_vmc/examples/E03
// Last Modified: 2007/10/05
// History:

void Config()
{
  TGeant3TGeo* geant3 = new  TGeant3TGeo("C++ Interface to Geant3");

  cout << "TGeant3TGeo has been created." << endl;

  // Disable geant3 debug printout
  // optional args are evt min,max,modulo w/defs(1,999,1)
  geant3->SetDEBU(0,0,0);

  // Set process flags and threshold cuts
  geant3->SetDRAY(1);
  geant3->SetLOSS(1);
  geant3->SetANNI(1);
  geant3->SetBREM(1);
  geant3->SetCOMP(1);
  geant3->SetDCAY(1);
  // From TGeant3gu::guhadr()
  // ihadr < 4 = GHEISHA, 4 = FLUKA, 5 = MICAP(low E)/FLUKA(high E), 6 = GCALOR
  geant3->SetHADR(6);
  geant3->SetMULS(1);
  geant3->SetMUNU(1);
  geant3->SetPAIR(1);
  geant3->SetPFIS(1);
  geant3->SetPHOT(1);
  // 10 keV cuts
  geant3->SetCUTS(0.00001,0.00001,0.00001,0.00001,0.00001,
                  0.00001,0.00001,0.00001,0.00001,0.00001,1E10);

  ...
}

The configuration options here are familiar as the FFREAD cards used in standard Geant3 configuration.

Further Links


Sue Kasahara Last Modified: $Date: 2008/04/12 21:36:13 $