Time of samples is read from raw data
[u/mrichter/AliRoot.git] / PHOS / AliPHOSClusterizer.cxx
index 2cef5a4..7ea97e4 100644 (file)
 //////////////////////////////////////////////////////////////////////////////
 
 // --- ROOT system ---
-#include "TGeometry.h"
-#include "TDirectory.h"
-#include "TFile.h"
-#include "TTree.h"
-
 
 // --- Standard library ---
-#include <iostream.h>
-#include <stdlib.h>   
 
 // --- AliRoot header files ---
-#include "AliRun.h" 
 #include "AliPHOSClusterizer.h"
-#include "AliHeader.h" 
+#include "AliPHOSGetter.h" 
 
 ClassImp(AliPHOSClusterizer)
 
 //____________________________________________________________________________
-  AliPHOSClusterizer::AliPHOSClusterizer():TTask("","")
+AliPHOSClusterizer::AliPHOSClusterizer():
+  TTask("",""),
+  fEventFolderName(""),
+  fFirstEvent(0),
+  fLastEvent(-1),
+  fRawReader(0)
 {
   // ctor
-  fSplitFile= 0 ; 
 }
 
 //____________________________________________________________________________
-AliPHOSClusterizer::AliPHOSClusterizer(const char* headerFile, const char* name):
-TTask(name, headerFile)
+AliPHOSClusterizer::AliPHOSClusterizer(const TString alirunFileName, 
+                                      const TString eventFolderName):
+  TTask("PHOS"+AliConfig::Instance()->GetReconstructionerTaskName(), 
+       alirunFileName), fEventFolderName(eventFolderName),
+  fFirstEvent(0),
+  fLastEvent(-1),
+  fRawReader(0)
 {
   // ctor
-  fSplitFile= 0 ; 
-
 }
 
 //____________________________________________________________________________
+AliPHOSClusterizer::AliPHOSClusterizer(const AliPHOSClusterizer & clusterizer) :
+  TTask(clusterizer),fEventFolderName(clusterizer.GetEventFolderName()),
+  fFirstEvent(clusterizer.GetFirstEvent()),fLastEvent(clusterizer.GetLastEvent()),
+  fRawReader(clusterizer.GetRawReader())
+{
+  //Copy constructor
+}
+//____________________________________________________________________________
 AliPHOSClusterizer::~AliPHOSClusterizer()
 {
   // dtor
          
-  fSplitFile = 0 ; ;
+ //Remove this from the parental task before destroying
+  if(AliPHOSGetter::Instance()->PhosLoader())
+    AliPHOSGetter::Instance()->PhosLoader()->CleanReconstructioner();
 }
 
-//____________________________________________________________________________
-void AliPHOSClusterizer::SetSplitFile(const TString splitFileName) 
-{
-  // Diverts the RecPoints in a file separate from the Digits file
-  
 
-  TDirectory * cwd = gDirectory ;
-  fSplitFile = gAlice->InitTreeFile("R",splitFileName.Data());
-  fSplitFile->cd() ; 
-  gAlice->Write(0, TObject::kOverwrite);
-
-  TTree *treeE  = gAlice->TreeE();
-  if (!treeE) {
-    cerr << "ERROR: AliPHOSClusterizer::SetSplitFile -> No TreeE found "<<endl;
-    abort() ;
-  }      
-  
-  // copy TreeE
-  AliHeader *header = new AliHeader();
-  treeE->SetBranchAddress("Header", &header);
-  treeE->SetBranchStatus("*",1);
-  TTree *treeENew =  treeE->CloneTree();
-  treeENew->Write(0, TObject::kOverwrite);
-    
-  // copy AliceGeom
-  TGeometry *AliceGeom = static_cast<TGeometry*>(cwd->Get("AliceGeom"));
-  if (!AliceGeom) {
-    cerr << "ERROR: AliPHOSClusterizer::SetSplitFile -> AliceGeom was not found in the input file "<<endl;
-    abort() ;
-  }
-  AliceGeom->Write(0, TObject::kOverwrite);
-  
-  gAlice->MakeTree("R", fSplitFile);
-  cwd->cd() ; 
-  cout << "INFO: AliPHOSClusterizer::SetSPlitMode -> RecPoints will be stored in " << splitFileName.Data() << endl ;   
-}