X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFSDigitizer.cxx;h=8fe8f30686a641c1d3534c2602f1345d7acfd93e;hb=4187cf1cb4a81938ea0b71de5ade85399ee85882;hp=ce555cd0e2dd04a1fd4ad097cf7b1adad3eaa0a9;hpb=8d6daa310decb821083804592553f8336b803699;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFSDigitizer.cxx b/TOF/AliTOFSDigitizer.cxx index ce555cd0e2d..8fe8f30686a 100644 --- a/TOF/AliTOFSDigitizer.cxx +++ b/TOF/AliTOFSDigitizer.cxx @@ -42,8 +42,10 @@ #include "AliLog.h" #include "AliDetector.h" #include "AliLoader.h" +#include "AliMC.h" #include "AliRun.h" #include "AliRunLoader.h" + #include "AliTOF.h" #include "AliTOFGeometry.h" #include "AliTOFHitMap.h" @@ -51,7 +53,6 @@ #include "AliTOFSDigitizer.h" #include "AliTOFhit.h" #include "AliTOFhitT0.h" -#include "AliMC.h" ClassImp(AliTOFSDigitizer) @@ -68,6 +69,9 @@ ClassImp(AliTOFSDigitizer) ftail = 0; fSelectedSector = -1; fSelectedPlate = -1; + + fTOFGeometry = new AliTOFGeometry(); + } //____________________________________________________________________________ @@ -97,6 +101,21 @@ AliTOFSDigitizer::AliTOFSDigitizer(const char* HeaderFile, Int_t evNumber1, Int_ return; } + fRunLoader->CdGAFile(); + TDirectory *savedir=gDirectory; + TFile *in=(TFile*)gFile; + + if (!in->IsOpen()) { + AliWarning("Geometry file is not open default TOF geometry will be used"); + fTOFGeometry = new AliTOFGeometry(); + } + else { + in->cd(); + fTOFGeometry = (AliTOFGeometry*)in->Get("TOFgeometry"); + } + + savedir->cd(); + if (fRunLoader->TreeE() == 0x0) fRunLoader->LoadHeader(); if (evNumber1>=0) fEvent1 = evNumber1; @@ -130,6 +149,9 @@ AliTOFSDigitizer::~AliTOFSDigitizer() { // dtor fTOFLoader->CleanSDigitizer(); + + delete fTOFGeometry; + } //____________________________________________________________________________ @@ -191,7 +213,6 @@ Double_t TimeWithTail(Double_t* x, Double_t* par) return f; } - //____________________________________________________________________________ void AliTOFSDigitizer::Exec(Option_t *verboseOption) { @@ -262,7 +283,7 @@ void AliTOFSDigitizer::Exec(Option_t *verboseOption) { TClonesArray *tofHitArray = tof->Hits(); // create hit map - AliTOFHitMap *hitMap = new AliTOFHitMap(tof->SDigits()); + AliTOFHitMap *hitMap = new AliTOFHitMap(tof->SDigits(), fTOFGeometry); TBranch * tofHitsBranch = hitTree->GetBranch("TOF"); @@ -293,7 +314,7 @@ void AliTOFSDigitizer::Exec(Option_t *verboseOption) { // fp: really sorry for this, it is a temporary trick to have // track length too - if(version!=6){ + if(version!=6 && version!=7){ AliTOFhit *tofHit = (AliTOFhit *) tofHitArray->UncheckedAt(hit); tracknum = tofHit->GetTrack(); vol[0] = tofHit->GetSector(); @@ -359,7 +380,7 @@ void AliTOFSDigitizer::Exec(Option_t *verboseOption) { if(timediff>=0.2) nlargeTofDiff++; - digit[0] = (Int_t) ((tofAfterSimul[indexOfPad]*1.e+03)/AliTOFGeometry::TdcBinWidth()); // TDC bin number (each bin -> 50. ps) + digit[0] = (Int_t) ((tofAfterSimul[indexOfPad]*1.e+03)/AliTOFGeometry::TdcBinWidth()); // TDC bin number (each bin -> 24.4 ps) Float_t landauFactor = gRandom->Landau(fAdcMean, fAdcRms); digit[1] = (Int_t) (qInduced[indexOfPad] * landauFactor); // ADC bins (each bin -> 0.25 (or 0.03) pC) @@ -793,7 +814,7 @@ void AliTOFSDigitizer::PrintParameters()const cout << " Time walk (ps) at the boundary of the pad : "<< fTimeWalkBoundary<< endl; cout << " Slope (ps/K) for neighbouring pad : "<< fTimeWalkSlope<