X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOS.cxx;h=8c0e9e8fddc460ccdd7e0dbe4b28c7607744d97a;hb=a07b6be8666c9c7f85584d6a4ed8048beed14910;hp=81c258cd9518afd6237707b7c99787dca0868cc3;hpb=fc44a6614bb848ade3c030dac7e43eedba31a51b;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOS.cxx b/PHOS/AliPHOS.cxx index 81c258cd951..8c0e9e8fddc 100644 --- a/PHOS/AliPHOS.cxx +++ b/PHOS/AliPHOS.cxx @@ -81,6 +81,7 @@ class TFile; #include "AliPHOS.h" #include "AliPHOSLoader.h" #include "AliRun.h" +#include "AliRawReader.h" #include "AliPHOSDigitizer.h" #include "AliPHOSSDigitizer.h" #include "AliPHOSDigit.h" @@ -125,9 +126,9 @@ AliPHOS::~AliPHOS() } //____________________________________________________________________________ -AliDigitizer* AliPHOS::CreateDigitizer(AliRunDigitizer* manager) const +AliDigitizer* AliPHOS::CreateDigitizer(AliDigitizationInput* digInput) const { - return new AliPHOSDigitizer(manager); + return new AliPHOSDigitizer(digInput); } //____________________________________________________________________________ @@ -379,42 +380,6 @@ void AliPHOS::CreateMaterials() //_____________________________________________________________________________ void AliPHOS::Init() { - // - // Initialises cuts for PHOS - // - // --- Set decent energy thresholds for gamma and electron tracking - Int_t * idtmed = fIdtmed->GetArray() - 699 ; - - // Tracking threshold for photons and electrons in the scintillator crystal - gMC->Gstpar(idtmed[699], "CUTGAM",0.5E-4) ; - gMC->Gstpar(idtmed[699], "CUTELE",1.0E-4) ; - - // --- Generate explicitly delta rays in the titan cover --- - gMC->Gstpar(idtmed[704], "LOSS",3.) ; - gMC->Gstpar(idtmed[704], "DRAY",1.) ; - // --- and in aluminium parts --- - gMC->Gstpar(idtmed[701], "LOSS",3.) ; - gMC->Gstpar(idtmed[701], "DRAY",1.) ; - // --- and in PIN diode - gMC->Gstpar(idtmed[705], "LOSS",3) ; - gMC->Gstpar(idtmed[705], "DRAY",1) ; - // --- and in the passive convertor - gMC->Gstpar(idtmed[712], "LOSS",3) ; - gMC->Gstpar(idtmed[712], "DRAY",1) ; - // Tracking threshold for photons and electrons in the gas ArC02 - gMC->Gstpar(idtmed[715], "CUTGAM",1.E-5) ; - gMC->Gstpar(idtmed[715], "CUTELE",1.E-5) ; - gMC->Gstpar(idtmed[715], "CUTNEU",1.E-5) ; - gMC->Gstpar(idtmed[715], "CUTHAD",1.E-5) ; - gMC->Gstpar(idtmed[715], "CUTMUO",1.E-5) ; - gMC->Gstpar(idtmed[715], "BCUTE",1.E-5) ; - gMC->Gstpar(idtmed[715], "BCUTM",1.E-5) ; - gMC->Gstpar(idtmed[715], "DCUTE",1.E-5) ; - gMC->Gstpar(idtmed[715], "DCUTM",1.E-5) ; - gMC->Gstpar(idtmed[715], "PPCUTM",1.E-5) ; - gMC->Gstpar(idtmed[715], "LOSS",2.) ; - gMC->Gstpar(idtmed[715], "DRAY",0.) ; - gMC->Gstpar(idtmed[715], "STRA",2.) ; } //____________________________________________________________________________ @@ -426,7 +391,7 @@ void AliPHOS::Digits2Raw() AliError("Energy digitization should be OFF if use Digits2Raw") ; } - AliPHOSLoader * loader = dynamic_cast(fLoader) ; + AliPHOSLoader * loader = static_cast(fLoader) ; // get the digits loader->LoadDigits(); @@ -484,7 +449,7 @@ void AliPHOS::Digits2Raw() // loop over digits (assume ordered digits) for (Int_t iDigit = 0; iDigit < digits->GetEntries(); iDigit++) { - AliPHOSDigit* digit = dynamic_cast(digits->At(iDigit)) ; + AliPHOSDigit* digit = static_cast(digits->At(iDigit)) ; // Skip small energy below treshold if (digit->GetEnergy() < kThreshold) @@ -568,7 +533,9 @@ void AliPHOS::Digits2Raw() pulse->GetRawFormatTimeBins(), adcValuesHigh, kAdcThreshold); } } - + delete [] adcValuesLow; + delete [] adcValuesHigh; + // write real header and close last file for (Int_t iDDL=0; iDDLGetRunLoader()->GetFileName().Data()) ; phosDigitizer.SetEventRange(0, -1) ; // do all the events - phosDigitizer.ExecuteTask("all") ; + phosDigitizer.Digitize("all") ; } @@ -613,7 +580,7 @@ void AliPHOS::SetTreeAddress() // Links Hits in the Tree to Hits array TBranch *branch; char branchname[20]; - sprintf(branchname,"%s",GetName()); + snprintf(branchname,20,"%s",GetName()); // Branch address for hit tree TTree *treeH = fLoader->TreeH(); if (treeH) { @@ -631,7 +598,7 @@ void AliPHOS::SetTreeAddress() Bool_t AliPHOS::Raw2SDigits(AliRawReader* rawReader) { - AliPHOSLoader * loader = dynamic_cast(fLoader) ; + AliPHOSLoader * loader = static_cast(fLoader) ; TTree * tree = 0 ; tree = loader->TreeS() ; @@ -647,11 +614,13 @@ Bool_t AliPHOS::Raw2SDigits(AliRawReader* rawReader) } sdigits->Clear(); + rawReader->Reset() ; + const TObjArray* maps = AliPHOSRecoParam::GetMappings(); if(!maps) AliFatal("Cannot retrieve ALTRO mappings!!"); - AliAltroMapping *mapping[4]; - for(Int_t i = 0; i < 4; i++) { + AliAltroMapping *mapping[20]; + for(Int_t i = 0; i < 20; i++) { mapping[i] = (AliAltroMapping*)maps->At(i); }