--- trieste/pamVMC/src/PamVMCApplication.cxx 2009/03/04 12:51:18 1.1.1.1 +++ trieste/pamVMC/src/PamVMCApplication.cxx 2009/03/24 14:04:05 1.2 @@ -29,31 +29,31 @@ ClassImp(PamVMCApplication) -PamVMCApplication::PamVMCApplication(const char *name, const char *title) + PamVMCApplication::PamVMCApplication(const char *name, const char *title, const char *filename, UInt_t seed) : TVirtualMCApplication(name,title), fEventNo(0), fVerbose(2), fStack(0), fdetector(0), - fPrimaryGenerator(0), - fRootManager("pamtest",kWrite) + //fPrimaryGenerator(0,seed), + fRootManager(filename,kWrite) { -// Standard constructor + // Standard constructor // Create a user stack fStack = new PamVMCStack(1000); - - + // Create a primary generator - fPrimaryGenerator = new PamVMCPrimaryGenerator(fStack); - + fPrimaryGenerator = new PamVMCPrimaryGenerator(fStack, seed); fdetector = new PamVMCDetPamela(); PamVMCFieldMgr::Instance()->LoadField(); + } + PamVMCApplication::PamVMCApplication() : TVirtualMCApplication(), fEventNo(0), @@ -66,6 +66,7 @@ // Default constructor } + PamVMCApplication::~PamVMCApplication() { // Destructor @@ -78,39 +79,42 @@ } -void PamVMCApplication::InitMC(const char* setup) +void PamVMCApplication::InitMC(const char* setup, const char *filename, UInt_t seed ) { // Initialize MC. fVerbose.InitMC(); - gROOT->LoadMacro(setup); - gInterpreter->ProcessLine("Config()"); - gMC->SetStack(fStack); - std::cout<<"!!! BEFORE INIT GMC"<Init(); - cout<<"INIT MC"<BuildPhysics(); - cout<<"PHYSICS BUILDED"<InitMC(); - - // fdetector->Print(); + gROOT->LoadMacro(setup); + gInterpreter->ProcessLine("Config()"); + gMC->SetStack(fStack); + std::cout<<"!!! BEFORE INIT GMC"<Init(); + cout<<"INIT MC"<BuildPhysics(); + cout<<"PHYSICS BUILDED"<Register(); + // Initialize seed for random generation // Cecilia + PamVMCDigMgr::Instance(seed); - PamVMCDigMgr::Instance()->LoadCalib(); - PamVMCRawMgr::Instance()->WriteToFile(); + fdetector->InitMC(); + // fdetector->Print(); - fPrimaryGenerator->Register(); - - std::cout<<"LIST OF ACTIVE SD'S:"<Print(); + PamVMCSDMgr::Instance()->Register(); + + PamVMCDigMgr::Instance()->LoadCalib(); + PamVMCRawMgr::Instance(filename)->WriteToFile(); + + fPrimaryGenerator->Register(); + + std::cout<<"LIST OF ACTIVE SD'S:"<Print(); } + void PamVMCApplication::RunMC(Int_t nofEvents) { // MC run.