//-------------------------------------------------------------------- // // Define the R3B simulation Setup // Steering macros to main r3ball.C // Author: // // Last Update: 17/08/09 // Comments: // - 17/08/09 : Adding detector list // - 13/08/09 : adding flag for User Physics List // // //-------------------------------------------------------------------- Int_t r3bsim(){ // Load the Main Simulation macro //gROOT->LoadMacro("r3ball.C"); TString macro_r3ball = getenv("VMCWORKDIR"); macro_r3ball += "/macros/r3b/startrack/r3ball.C"; gROOT->LoadMacro(macro_r3ball.Data()); // Output files TString OutFile = "r3bsim.root"; TString ParFile = "r3bpar.root"; //------------------------------------------------- // Monte Carlo type | fMC (TString) //------------------------------------------------- // Geant3: "TGeant3" // Geant4: "TGeant4" // Fluka : "TFluka" TString fMC ="TGeant4"; //TString fMC ="TGeant3"; //------------------------------------------------- // Primaries generation // Event Generator Type | fGene (TString) //------------------------------------------------- // Box generator: "box" // R3B spec. generator: "r3b" TString fGene="box"; //TString fGene="gammas"; // TString fGene="ion_gun"; //TString fGene="ascii"; //TString fGene="p2p"; //TString fGene="cosmic"; //------------------------------------------------- // Secondaries generation (G4 only) // R3B Spec. PhysicList | fUserPList (Bool_t) // ---------------------------------------------- // VMC Standard kFALSE // R3B Special kTRUE; Bool_t fUserPList= kTRUE; // Target type TString target1="LeadTarget"; TString target2="Para"; TString target3="Para45"; TString target4="LiH"; //------------------------------------------------- //- Geometrical Setup Definition //- Non Sensitiv | fDetName (String) //------------------------------------------------- // Target: TARGET // Magnet: ALADIN // //------------------------------------------------- //- Sensitiv | fDetName //------------------------------------------------- // Calorimeter: CALIFA // CRYSTALBALL // // Tof: TOF // MTOF // // Tracker: DCH // TRACKER // GFI // // Neutron: LAND // SCINTNEULAND TMap detGeo; detGeo.Add(new TObjString("TARGET"), new TObjString("target_"+target4+".geo.root")); // detGeo.Add(new TObjString("ALADIN"), new TObjString("aladin_v13a.geo.root")); // detGeo.Add(new TObjString("GLAD"), new TObjString("glad_v13a.geo.root")); // detGeo.Add(new TObjString("CRYSTALBALL"), new TObjString("cal_v13a.geo.root")); //detGeo.Add(new TObjString("CALIFA"), new TObjString("califa_v14a.geo.root")); // detGeo.Add(new TObjString("TOF"), new TObjString("tof_v13a.geo.root")); // detGeo.Add(new TObjString("MTOF"), new TObjString("mtof_v13a.geo.root")); // detGeo.Add(new TObjString("DCH"), new TObjString("dch_v13a.geo.root")); // detGeo.Add(new TObjString("TRACKER"), new TObjString("tra_v13vac.geo.root")); detGeo.Add(new TObjString("STaRTrack"), new TObjString("startra_v14a.geo.root")); // detGeo.Add(new TObjString("GFI"), new TObjString("gfi_v13a.geo.root")); // detGeo.Add(new TObjString("LAND"), new TObjString("land_v12a_10m.geo.root")); // detGeo.Add(new TObjString("SCINTNEULAND"), new TObjString("neuland_v12a_14m.geo.root")); detGeo.Add(new TObjString("VACVESSELCOOL"), new TObjString("vacvessel_v14a.geo.root")); // detGeo.Add(new TObjString("VACVESSELCOOL"), new TObjString("vacvessel_v13a.geo.root")); /// detGeo.Add(new TObjString("MFI"), new TObjString("mfi_v13a.geo.root")); // detGeo.Add(new TObjString("PSP"), new TObjString("psp_v13a.geo.root")); /* TObjString det0("TARGET"); //TObjString det1("ALADIN"); //TObjString det2("GLAD"); TObjString det3("CALIFA"); //TObjString det4("CRYSTALBALL"); //TObjString det5("TOF"); //TObjString det6("MTOF"); //TObjString det7("DCH"); //TObjString det8("TRACKER"); TObjString det9("STaRTrack"); //TObjString det10("GFI"); //TObjString det11("LAND"); //TObjString det12("CHAMBER"); // vacuum chamber for Si tracker //TObjString det13("VACVESSELCOOL"); // vacuum chamber for Si STaRTrack TObjArray fDetList; fDetList.Add(&det0); // target //fDetList.Add(&det1); // ALADIN //fDetList.Add(&det2); // GLAD fDetList.Add(&det3); // Calorimeter CALIFA //fDetList.Add(&det4); // Calorimeter XBall //fDetList.Add(&det5); //fDetList.Add(&det6); //fDetList.Add(&det7); //fDetList.Add(&det8); // Tracker fDetList.Add(&det9); // StarTrack //fDetList.Add(&det10); //fDetList.Add(&det11); //fDetList.Add(&det12); // chamber !!!! when chamber is on delta e- rate increases -> To check !!! //fDetList.Add(&det13); // */ //------------------------------------------------- //- N# of Sim. Events | nEvents (Int_t) //------------------------------------------------- //Int_t nEvents = 10; Int_t nEvents = 10000; //Int_t nEvents = 20000; //------------------------------------------------- //- EventDisplay | fEventDisplay (Bool_t) //------------------------------------------------- // connected: kTRUE // not connected: kFALSE //Bool_t fEventDisplay=kFALSE; Bool_t fEventDisplay=kTRUE; // Magnet Field definition //Bool_t fR3BMagnet = kTRUE; Bool_t fR3BMagnet = kFALSE; // Main Sim function call r3ball( nEvents, detGeo, target4, // target2, fEventDisplay, fMC, fGene, fUserPList, fR3BMagnet, 1500., OutFile, ParFile ); }