From 8130d3a54fcce26802ef8802f55965ccc4947627 Mon Sep 17 00:00:00 2001 From: policheh Date: Tue, 13 Feb 2007 10:52:08 +0000 Subject: [PATCH] Raw2SDigits() implemented --- PHOS/AliPHOS.cxx | 37 +++++++++++++++++++++++++++++++++++++ PHOS/AliPHOS.h | 4 ++++ 2 files changed, 41 insertions(+) diff --git a/PHOS/AliPHOS.cxx b/PHOS/AliPHOS.cxx index 4d0c5814cfe..c2e0db9b7ca 100644 --- a/PHOS/AliPHOS.cxx +++ b/PHOS/AliPHOS.cxx @@ -16,6 +16,9 @@ /* History of cvs commits: * * $Log$ + * Revision 1.109 2007/02/05 10:43:25 hristov + * Changes for correct initialization of Geant4 (Mihaela) + * * Revision 1.108 2007/02/01 10:34:47 hristov * Removing warnings on Solaris x86 * @@ -118,6 +121,8 @@ class TFile; #include "AliPHOSCalibData.h" #include "AliPHOSPulseGenerator.h" #include "AliDAQ.h" +#include "AliPHOSRawDecoder.h" +#include "AliPHOSRawDigiProducer.h" ClassImp(AliPHOS) @@ -620,3 +625,35 @@ void AliPHOS::SetTreeAddress() } } +//____________________________________________________________________________ +Bool_t AliPHOS::Raw2SDigits(AliRawReader* rawReader) +{ + + AliPHOSLoader * loader = dynamic_cast(fLoader) ; + + TTree * tree = 0 ; + tree = loader->TreeS() ; + if ( !tree ) { + loader->MakeTree("S"); + tree = loader->TreeS() ; + } + + TClonesArray * sdigits = loader->SDigits() ; + if(!sdigits) { + loader->MakeSDigitsArray(); + sdigits = loader->SDigits(); + } + sdigits->Clear(); + + AliPHOSRawDecoder dc(rawReader); + AliPHOSRawDigiProducer pr; + pr.MakeDigits(sdigits,&dc); + + Int_t bufferSize = 32000 ; + TBranch * sdigitsBranch = tree->Branch("PHOS",&sdigits,bufferSize); + tree->Fill(); + + fLoader->WriteSDigits("OVERWRITE"); + return kTRUE; + +} diff --git a/PHOS/AliPHOS.h b/PHOS/AliPHOS.h index ec9a44fcabb..5095b3bd9ef 100644 --- a/PHOS/AliPHOS.h +++ b/PHOS/AliPHOS.h @@ -7,6 +7,9 @@ /* History of cvs commits: * * $Log$ + * Revision 1.71 2007/02/05 10:43:25 hristov + * Changes for correct initialization of Geant4 (Mihaela) + * * Revision 1.70 2007/01/17 17:28:56 kharlov * Extract ALTRO sample generation to a separate class AliPHOSPulseGenerator * @@ -76,6 +79,7 @@ public: virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; virtual void CreateMaterials() ; virtual void Digits2Raw(); + virtual Bool_t Raw2SDigits(AliRawReader* rawReader); virtual void FinishRun() {;} virtual AliPHOSGeometry * GetGeometry() const {return AliPHOSGeometry::GetInstance(GetTitle(),"") ; } -- 2.39.3