New functionality: provide the detector reconstructors with an access to the run...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Jul 2009 12:13:16 +0000 (12:13 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Jul 2009 12:13:16 +0000 (12:13 +0000)
STEER/AliReconstruction.cxx
STEER/AliReconstructor.h

index f94a555..176980e 100644 (file)
@@ -1635,6 +1635,7 @@ Bool_t AliReconstruction::ProcessEvent(Int_t iEvent)
       if (reconstructor && fRecoParam.GetDetRecoParamArray(iDet)) {
         const AliDetectorRecoParam *par = fRecoParam.GetDetRecoParam(iDet);
         reconstructor->SetRecoParam(par);
+       reconstructor->SetEventInfo(&fEventInfo);
         if (fRunQA) {
           AliQAManager::QAManager()->SetRecoParam(iDet, par) ; 
           AliQAManager::QAManager()->SetEventSpecie(AliRecoParam::Convert(par->GetEventSpecie())) ;
@@ -1913,8 +1914,10 @@ Bool_t AliReconstruction::ProcessEvent(Int_t iEvent)
   
     fEventInfo.Reset();
     for (Int_t iDet = 0; iDet < kNDetectors; iDet++) {
-      if (fReconstructor[iDet])
+      if (fReconstructor[iDet]) {
        fReconstructor[iDet]->SetRecoParam(NULL);
+       fReconstructor[iDet]->SetEventInfo(NULL);
+      }
     }
        
   if (fRunQA || fRunGlobalQA) 
@@ -2740,6 +2743,7 @@ AliReconstructor* AliReconstruction::GetReconstructor(Int_t iDet)
     if (fRecoParam.GetDetRecoParamArray(iDet) && !AliReconstructor::GetRecoParam(iDet)) {
       const AliDetectorRecoParam *par = fRecoParam.GetDetRecoParam(iDet);
       fReconstructor[iDet]->SetRecoParam(par);
+      fReconstructor[iDet]->SetRunInfo(fRunInfo);
     }
     return fReconstructor[iDet];
   }
@@ -2821,6 +2825,7 @@ AliReconstructor* AliReconstruction::GetReconstructor(Int_t iDet)
   if (fRecoParam.GetDetRecoParamArray(iDet) && !AliReconstructor::GetRecoParam(iDet)) {
     const AliDetectorRecoParam *par = fRecoParam.GetDetRecoParam(iDet);
     reconstructor->SetRecoParam(par);
+    reconstructor->SetRunInfo(fRunInfo);
   }
   return reconstructor;
 }
index bad7595..6f55b53 100644 (file)
@@ -20,12 +20,14 @@ class AliVertexer;
 class AliTracker;
 class AliESDEvent;
 class AliDetectorRecoParam;
+class AliRunInfo;
+class AliEventInfo;
 
 #include "AliReconstruction.h"
 
 class AliReconstructor: public TObject {
 public:
-  AliReconstructor(): TObject(), fOption() {};
+  AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0) {};
   virtual ~AliReconstructor() {};
 
   virtual void         Init() {};
@@ -53,12 +55,19 @@ public:
   void                 SetOption(Option_t* option) {fOption = option;};
   virtual Option_t*    GetOption() const {return fOption.Data();};
 
+  void                 SetRunInfo(AliRunInfo *runInfo) {fRunInfo = runInfo;}
+  const AliRunInfo*    GetRunInfo() const {return fRunInfo;}
+  void                 SetEventInfo(AliEventInfo *evInfo) {fEventInfo = evInfo;}
+  const AliEventInfo*  GetEventInfo() const {return fEventInfo;}
+
   void                               SetRecoParam(const AliDetectorRecoParam *par);
   static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
 
 private:
   TString                            fOption;                                       //! option for reconstruction
   static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
+  AliRunInfo*                        fRunInfo;                                    //! pointer to the run info object
+  AliEventInfo*                      fEventInfo;                                  //! pointer to the event info object
 
   ClassDef(AliReconstructor, 0)   // base class for reconstruction algorithms
 };