]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSFDigitizer.cxx
Version number incremented
[u/mrichter/AliRoot.git] / ITS / AliITSFDigitizer.cxx
index f0eef6ca117c205ea66abcb5af7e67a61d84c90b..e67e5ce1da3a6209ad3cdbc49dbb656eb6098295 100644 (file)
  
 /* $Id$ */
 
+//////////////////////////////////////////////////////////////////
+// Class for fast reconstruction of recpoints                   //
+//                                                              //
+//                                                              //
+//////////////////////////////////////////////////////////////////
+
 #include <stdlib.h>
-#include <Riostream.h>
-#include <TObjArray.h>
-#include <TClonesArray.h>
 #include <TTree.h>
-#include <TBranch.h>
-#include <TFile.h>
 
 #include <AliRun.h>
 #include <AliRunLoader.h>
 #include <AliRunDigitizer.h>
 
 #include "AliITSFDigitizer.h"
-// #include "AliITSpList.h"
-#include "AliITSmodule.h"
 #include "AliITSgeom.h"
 #include "AliITSsimulationFastPoints.h"
 
 ClassImp(AliITSFDigitizer)
 
 //______________________________________________________________________
-AliITSFDigitizer::AliITSFDigitizer() : AliDigitizer(){
+AliITSFDigitizer::AliITSFDigitizer() : AliDigitizer(),
+fITS(0),
+fInit(kFALSE){
 //
 // Default constructor.
 //
-    fITS      = 0;
-    fInit     = kFALSE;
 }
 //______________________________________________________________________
-AliITSFDigitizer::AliITSFDigitizer(AliRunDigitizer *mngr) : AliDigitizer(mngr){
+AliITSFDigitizer::AliITSFDigitizer(AliRunDigitizer *mngr) : AliDigitizer(mngr),
+fITS(0),
+fInit(kFALSE){
 //
 // Standard constructor.
 //
-    fITS      = 0;
-    fInit     = kFALSE;
 }
+//______________________________________________________________________
+AliITSFDigitizer::AliITSFDigitizer(const AliITSFDigitizer &rec):AliDigitizer(rec),
+fITS(rec.fITS),
+fInit(rec.fInit){
+    // Copy constructor. 
+  
+}
+//______________________________________________________________________
+AliITSFDigitizer& AliITSFDigitizer::operator=(const AliITSFDigitizer& /*source*/){
+
+    // Assignment operator. This is a function which is not allowed to be
+    // done.
+    Error("operator=","Assignment operator not allowed\n");
+    return *this; 
+}
+
 //______________________________________________________________________
 AliITSFDigitizer::~AliITSFDigitizer(){
 //
@@ -107,7 +122,7 @@ void AliITSFDigitizer::Exec(Option_t* opt){
        Error("Exec","Can not get TOF Loader from Output Run Loader.");
        return;
     }
-    if(strstr(opt,"deb"){
+    if(strstr(opt,"deb")){
        Info("Exec","sim=%p, outrl=%p, outgime=%p",sim,outrl,outgime);
     }
     TTree* outputTreeR = outgime->TreeR();
@@ -115,10 +130,11 @@ void AliITSFDigitizer::Exec(Option_t* opt){
        outgime->MakeTree("R");
        outputTreeR = outgime->TreeR();
     }
-    TClonesArray *recPoints = fITS->RecPoints();
-//  TBranch *branch =
-    fITS->MakeBranchInTree(outputTreeR,"ITSRecPointsF",&recPoints,4000,0);
-  
+    
+    TClonesArray* recPoints = new TClonesArray("AliITSRecPoint",1000);
+    TBranch* branch = outputTreeR->GetBranch("ITSRecPointsF");
+    if(branch) branch->SetAddress(recPoints);
+    else outputTreeR->Branch("ITSRecPointsF",&recPoints);
     Int_t nModules;
     fITS->InitModules(-1,nModules);
 
@@ -147,10 +163,9 @@ void AliITSFDigitizer::Exec(Option_t* opt){
 
     AliITSgeom *geom = fITS->GetITSgeom();
     for(Int_t moduleIndex = 0; moduleIndex<geom->GetIndexMax(); moduleIndex++){
-       sim->CreateFastRecPoints(moduleIndex);
-//      branch->Fill();
+       sim->CreateFastRecPoints(moduleIndex,recPoints);
        outputTreeR->Fill();
-       fITS->ResetRecPoints();
+       recPoints->Clear();
     }
     outrl->WriteRecPoints("OVERWRITE");
 //  outputTreeR->AutoSave();