#include "TROOT.h"
#include "TFolder.h"
#include "TBenchmark.h"
-#include "TRandom.h"
+#include "TObjString.h"
#include <iomanip.h>
#include "AliRun.h"
+#include "AliTOF.h"
#include "AliTOFdigit.h"
#include "AliTOFhit.h"
#include "AliTOFDigitizer.h"
fDigits = new TClonesArray("AliTOFdigit", 405);
//add Task to //FPAlice/tasks/(S)Digitizer/TOF
- TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("FPAlice") ;
- TTask * aliceSD = (TTask*)alice->FindObject("tasks/(S)Digitizer") ;
- TTask * tofD = (TTask*)aliceSD->GetListOfTasks()->FindObject("TOF") ;
- tofD->Add(this) ;
+ TList * aList = gROOT->GetListOfBrowsables();
+ if (aList) {
+ TFolder * alice = (TFolder*)aList->FindObject("FPAlice") ;
+ if (alice) {
+ TTask * aliceSD = (TTask*)alice->FindObject("tasks/(S)Digitizer") ;
+ if (aliceSD) {
+ TTask * tofD = (TTask*)aliceSD->GetListOfTasks()->FindObject("TOF") ;
+ tofD->Add(this) ;
+ }
+ }
+ }
fIsInitialized = kTRUE ;
}
Int_t vol[5]; // dummy location for digit
Float_t digit[2]; // TOF digit variables
- TRandom* rnd = new TRandom();
-
// Collects all hits in the same active volume into digit
if(!fIsInitialized)
Float_t idealtime = hit->GetTof(); // unit s
idealtime *= 1.E+12; // conversion from s to ps
// fTimeRes is given usually in ps
- Float_t tdctime = rnd->Gaus(idealtime, fTimeRes);
+ Float_t tdctime = gRandom->Gaus(idealtime, fTimeRes);
digit[0] = tdctime;
// typical Landau Distribution to be inserted here
Float_t idealcharge = hit->GetEdep();
- Float_t adccharge = rnd->Gaus(idealcharge, fChrgRes);
+ Float_t adccharge = gRandom->Gaus(idealcharge, fChrgRes);
digit[1] = adccharge;
// to be added a check for overlaps
new((*fDigits)[ndigits]) AliTOFdigit(tracks, vol, digit);
} // end loop over tracks
- delete rnd;
- rnd = 0;
-
ndigits = fDigits->GetEntriesFast() ;
printf("AliTOFDigitizer: Total number of digits %d\n",ndigits);