Modifications needed by Geant4 (I.Hrivnacova)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 May 2004 12:56:08 +0000 (12:56 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 May 2004 12:56:08 +0000 (12:56 +0000)
STEER/AliRun.cxx
macros/g4ConfigCommon.C
macros/g4menu.C

index c915d254f1ed80bf21145f74d4cfe724d3a4ac52..d3eeaf5e7486681ab6b8094fe411ca63ae7f4ef2 100644 (file)
@@ -541,7 +541,8 @@ void AliRun::InitMC(const char *setup)
     return;
   }
     
     return;
   }
     
-  fMCApp=new AliMC(GetName(),GetTitle());
+  if (!fMCApp)  
+    fMCApp=new AliMC(GetName(),GetTitle());
     
   gROOT->LoadMacro(setup);
   gInterpreter->ProcessLine(fConfigFunction.Data());
     
   gROOT->LoadMacro(setup);
   gInterpreter->ProcessLine(fConfigFunction.Data());
@@ -552,9 +553,6 @@ void AliRun::InitMC(const char *setup)
 
   fNdets = fModules->GetLast()+1;
 
 
   fNdets = fModules->GetLast()+1;
 
-  // Added also after in case of interactive initialisation of modules
-  fNdets = fModules->GetLast()+1;
-
   TIter next(fModules);
   for(Int_t i=0; i<fNdets; ++i)
    {
   TIter next(fModules);
   for(Int_t i=0; i<fNdets; ++i)
    {
@@ -939,4 +937,6 @@ void AliRun::AddModule(AliModule* mod)
   else AliConfig::Instance()->Add(mod,fRunLoader->GetEventFolder()->GetName());
 
   Modules()->Add(mod);
   else AliConfig::Instance()->Add(mod,fRunLoader->GetEventFolder()->GetName());
 
   Modules()->Add(mod);
+  
+  fNdets++;
 }
 }
index b4c90308b0e94bb680f1fe413425bcbf651df40a..5c09b8995e30fe51ec8a4c91e898a8263c21d56e 100644 (file)
@@ -149,7 +149,6 @@ void ConfigCommon(Bool_t interactiveSetup)
   // Exclude detectors with temporary problem
   iCRT = 0;
   iEMCAL = 0;
   // Exclude detectors with temporary problem
   iCRT = 0;
   iEMCAL = 0;
-  iFMD = 0;
  
   // END OF ONLY FOR GEANT4
 
  
   // END OF ONLY FOR GEANT4
 
@@ -204,7 +203,7 @@ void ConfigCommon(Bool_t interactiveSetup)
     {
         //=================== SHIL parameters ============================
 
     {
         //=================== SHIL parameters ============================
 
-        AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding");
+        AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding Version 2");
     }
 
 
     }
 
 
@@ -293,8 +292,8 @@ void ConfigCommon(Bool_t interactiveSetup)
         AliTPC *TPC = new AliTPCv2("TPC", "Default");
 
         // All sectors included 
         AliTPC *TPC = new AliTPCv2("TPC", "Default");
 
         // All sectors included 
-        TPC->SetSecAL(-1);
         TPC->SetSecAU(-1);
         TPC->SetSecAU(-1);
+        TPC->SetSecAL(-1);
 
     }
 
 
     }
 
@@ -307,7 +306,7 @@ void ConfigCommon(Bool_t interactiveSetup)
     if (iRICH)
     {
         //=================== RICH parameters ===========================
     if (iRICH)
     {
         //=================== RICH parameters ===========================
-        AliRICH *RICH = new AliRICHv3("RICH", "normal RICH");
+        AliRICH *RICH = new AliRICHv1("RICH", "normal RICH");
     }
 
 
     }
 
 
@@ -400,6 +399,8 @@ void ConfigCommon(Bool_t interactiveSetup)
     else  
       AliRunConfiguration::SwitchHoles(kFALSE);
   }    
     else  
       AliRunConfiguration::SwitchHoles(kFALSE);
   }    
+
+  cout << "End of g4ConfigCommon.C" << endl;
 }
 
 Float_t EtaToTheta(Float_t arg){
 }
 
 Float_t EtaToTheta(Float_t arg){
index 0f8eb4f2a42137c651176f97fab26e11192a049d..fe7f07a1b4decc3ecba30bbfd2eaebf5cab90a1d 100644 (file)
@@ -31,6 +31,8 @@ void g4menu()
   menu->AddButton("Run",      "gAlice->Run()",  "Process Alice run");
   menu->AddButton("Geant4",   "CreateGeant4()", "Create Geant4 only (without initializing AliRun)");
   menu->AddButton("Geant4UI", "StartGeant4UI()","Go to Geant4 Interactive session");
   menu->AddButton("Run",      "gAlice->Run()",  "Process Alice run");
   menu->AddButton("Geant4",   "CreateGeant4()", "Create Geant4 only (without initializing AliRun)");
   menu->AddButton("Geant4UI", "StartGeant4UI()","Go to Geant4 Interactive session");
+  menu->AddButton("XML",      "GenerateXML()","Generate XML (AGDD) file with geometry description");
+  menu->AddButton("Quit",     "Quit()", "Quit aliroot");
   gROOT->SaveContext();
   menu->Show();
 }
   gROOT->SaveContext();
   menu->Show();
 }
@@ -73,4 +75,33 @@ void StartGeant4UI()
   else {  
     cout << "Monte Carlo has not been yet created." << endl;
   }       
   else {  
     cout << "Monte Carlo has not been yet created." << endl;
   }       
+} 
+
+void GenerateXML()
+{
+  if (gMC) {
+    // release Root terminal control
+
+    // go into non-raw term mode
+    //Getlinem(kCleanUp, 0);
+    
+    // add test if gMC is TGeant4
+    TGeant4* g4 = (TGeant4*)gMC;
+    
+    g4->ProcessGeantCommand("/xml/generateAGDD");
+
+    // new Root prompt
+    //Getlinem(kInit, ((TRint*)gROOT->GetApplication())->GetPrompt());  
+  }
+  else {  
+    cout << "Monte Carlo has not been yet created." << endl;
+  } 
+}        
+
+void Quit()
+{
+  delete gAlice->GetRunLoader();
+  delete gAlice;
+  
+  exit(0);
 }  
 }