]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Introduce variable Config.C function signature
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Apr 2000 19:11:40 +0000 (19:11 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Apr 2000 19:11:40 +0000 (19:11 +0000)
STEER/AliRun.cxx
STEER/AliRun.h

index f4f662420034a70e38dab7009003c10299057d5f..73b19e12929183d4c8779fa855579b2ff259d1db 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.29  2000/04/07 11:12:34  fca
+G4 compatibility changes
+
 Revision 1.28  2000/04/05 06:51:06  fca
 Workaround for an HP compiler problem
 
@@ -123,6 +126,7 @@ AliRun::AliRun()
   fLego      = 0;
   fPDGDB     = 0;        //Particle factory object!
   fHitLists  = 0;
+  fConfigFunction    = "\0";
 }
 
 //_____________________________________________________________________________
@@ -149,6 +153,7 @@ AliRun::AliRun(const char *name, const char *title)
   fInitDone  = kFALSE;
   fLego      = 0;
   fField     = 0;
+  fConfigFunction    = "Config();";
   
   gROOT->GetListOfBrowsables()->Add(this,name);
   //
@@ -805,7 +810,7 @@ void AliRun::InitMC(const char *setup)
   //
 
   gROOT->LoadMacro(setup);
-  gInterpreter->ProcessLine("Config();");
+  gInterpreter->ProcessLine(fConfigFunction.Data());
 
   gMC->DefineParticles();  //Create standard MC particles
 
@@ -1494,6 +1499,11 @@ void AliRun::Streamer(TBuffer &R__b)
       fHeader.SetEvent(0);
       fPDGDB     = TDatabasePDG::Instance();        //Particle factory object!
     }
+    if(R__v>2) {
+      fConfigFunction.Streamer(R__b);
+    } else {
+      fConfigFunction="Config();";
+    }
   } else {
     R__b.WriteVersion(AliRun::IsA());
     TNamed::Streamer(R__b);
@@ -1510,5 +1520,6 @@ void AliRun::Streamer(TBuffer &R__b)
     R__b << fTrZmax;
     R__b << fGenerator;
     R__b << fPDGDB;        //Particle factory object!
+    fConfigFunction.Streamer(R__b);
   }
 } 
index cc32e95b1553d8a4e44f7955016cd9203434b1f5..b9ca252f5e8bf7d3bb79b0f5345192185b148e3b 100644 (file)
@@ -58,6 +58,7 @@ protected:
   TArrayF       fEventEnergy;  //Energy deposit for current event
   TArrayF       fSummEnergy;   //Energy per event in each volume
   TArrayF       fSum2Energy;   //Energy squared per event in each volume
+  TString       fConfigFunction; //Configuration file to be executed
 
   
 public:
@@ -97,10 +98,16 @@ public:
    AliDetector   *GetDetector(const char *name);
    Int_t          GetModuleID(const char *name);
    virtual  Int_t GetEvent(Int_t event);
-  virtual  void  SetEvent(Int_t event) {fEvent=event;}
+   virtual  void  SetEvent(Int_t event) {fEvent=event;}
+   virtual  void  SetConfigFunction(const char * config="Config();") 
+    {fConfigFunction=config;}
+   virtual  const char *GetConfigFunction() const 
+    {return fConfigFunction.Data();}
    TGeometry     *GetGeometry();
    AliHeader     *GetHeader() {return &fHeader;}
-   virtual  void  GetNextTrack(Int_t &mtrack, Int_t &ipart, Float_t *pmom, Float_t &e, Float_t *vpos, Float_t *polar, Float_t &tof);
+   virtual  void  GetNextTrack(Int_t &mtrack, Int_t &ipart, Float_t *pmom,
+                              Float_t &e, Float_t *vpos, Float_t *polar, 
+                              Float_t &tof);
    Int_t          GetNtrack() {return fNtrack;}
    virtual  Int_t GetPrimary(Int_t track);
    virtual  void  InitMC(const char *setup="Config.C");
@@ -152,7 +159,7 @@ public:
 
   // --------------------------- commons -------------------------------------
 
-   ClassDef(AliRun,2)      //Supervisor class for all Alice detectors
+   ClassDef(AliRun,3)      //Supervisor class for all Alice detectors
 };
  
 R__EXTERN  AliRun *gAlice;