--- trieste/pamVMC/run_g4_testTRK.C 2009/03/04 12:51:04 1.1 +++ trieste/pamVMC/run_g4_testTRK.C 2009/03/24 14:18:54 1.3 @@ -1,7 +1,14 @@ + // $Id: run_g4.C,v 1.0 2007/06/01 // // Macro for running G4PAM_VMC with Geant4. -void run_g4_testTRK(const TString& configMacro = "g4Config.C") { +void run_g4_testTRK(TString outfilename="/gpfs/wizard/flight/analysis/cecilia/trieste/pamVMC/pamtest", + UInt_t seed = 0, const TString& configMacro = "g4Config.C") { + + if (seed == 0) { // set random seed + TRandom3 *r = new TRandom3(0); + seed = r->GetSeed(); + } // Load basic libraries gROOT->LoadMacro("./macro/basiclibs.C"); @@ -25,8 +32,9 @@ // MC application PamVMCApplication* appl - = new PamVMCApplication("PAMG4_VMC", "PAMELA GEANT4 VMC application"); + = new PamVMCApplication("PAMG4_VMC", "PAMELA GEANT4 VMC application", outfilename.Data(), seed); + //appl->GetPrimaryGenerator()->SetNofPrimaries(1); appl->SetVerboseLevel(0); @@ -35,7 +43,21 @@ //optPhoton(); appl->SetVerboseLevel(2); // Initialize MC - appl->InitMC(configMacro); + appl->InitMC(configMacro, outfilename.Data(), seed); + + // Cecilia: set seed for random generator + TRandom3 *rndgen = new TRandom3(seed); + ((TGeant4*)gMC)->SetRandom(rndgen); + // Write seed in a txt file + TString seedfname = outfilename; + seedfname.Append("Seed.txt"); + cout<<" FILENAME "<GetSeed() ); + fclose(seedfile); + + cout<<"SEED "<GetSeed()<ProcessGeantMacro("g4config2.in"); // Visualization settings - ((TGeant4*)gMC)->ProcessGeantMacro("g4vis.in"); + //((TGeant4*)gMC)->ProcessGeantMacro("g4vis.in"); ((TGeant4*)gMC)->SetMaxNStep(50000); //appl->GetPrimaryGenerator()->SetParticle(1000060120); appl->GetPrimaryGenerator()->SetParticle(kElectron); //appl->GetPrimaryGenerator()->SetDirection(0.,0.); - //appl->GetPrimaryGenerator()->SetKinEnergy(10.); + //appl->GetPrimaryGenerator()->SetKinEnergy(10.); //appl->GetPrimaryGenerator()->SetRigidity(1.0); //GV //appl->GetPrimaryGenerator()->SetPosition(1.,1.,130.); + // Run MC - for (Int_t i=0; i<3; i++){ - cout<<"Event "<GetPrimaryGenerator()->SetKinEnergy(10.); - if (i==0) appl->GetPrimaryGenerator()->SetKinEnergy(0.01); - appl->GetPrimaryGenerator()->GenSphDist(120.); - //appl->GetPrimaryGenerator()->GenSphDist(120.,0.,90.,0.,360.); - // appl->GetPrimaryGenerator()->GenPosition(-22.4,22.4, -18.5, 18.5, 110.0,110.0); - //appl->GetPrimaryGenerator()->GenDirection(0.,TMath::Pi()/2.,0.,2*TMath::Pi()); - //appl->GetPrimaryGenerator()->GenSpe(1.,5.,-2.75); - // appl->GetPrimaryGenerator()->Print(); - // if (i==9) ((TGeant4*)gMC)->ProcessGeantMacro("g4vis.in"); + for (Int_t i=0; i<2; i++){ + cout<<"in Loop: Event nr."<GetPrimaryGenerator()->SetKinEnergy(0.1); + //if (i==0) appl->GetPrimaryGenerator()->SetKinEnergy(0.01); + //appl->GetPrimaryGenerator()->GenSphDist(120.); + // endritabrata + + // cecilia + appl->GetPrimaryGenerator()->GenSphPhiThe(-25,25., -25.,25., 108.0,108.0); + appl->GetPrimaryGenerator()->GenSpe(5.,30.,-3.3); + appl->RunMC(1); }