#include "AliTOFdigit.h"
#include "AliTOFhit.h"
#include "AliTOFhitT0.h"
+#include "AliMC.h"
+#include "AliTOFDigitizer.h"
ClassImp(AliTOF)
fName="TOF";
fMerger = 0x0;
fTZero = kFALSE;
+ fTOFGeometry = 0;
}
//_____________________________________________________________________________
fReTask= 0x0;
fReconParticles= 0x0;
fMerger = 0x0;
+ fTOFGeometry = 0;
if (strstr(option,"tzero")){
fHits = new TClonesArray("AliTOFhitT0", 1000);
if (gAlice==0) {
Fatal("AliTOF","gAlice==0 !");
}
- if (gAlice->GetHitLists())
- gAlice->AddHitList(fHits);
+ if (gAlice->GetMCApp()->GetHitLists())
+ gAlice->GetMCApp()->AddHitList(fHits);
else Error("AliTOF","gAlice->GetHitLists()==0");
fIshunt = 0;
AliDetector::ResetDigits ();
//
}
+//____________________________________________
+void AliTOF::ResetSDigits ()
+{
+ //
+ // Reset number of sdigits and the sdigits array for this detector
+ fNSDigits = 0;
+ //fSDigits = 0x0;
+ //
+}
//_____________________________________________________________________________
void AliTOF::Init()
{
return fMerger;
}
-
//---------------------------------------------------------------------
-
void AliTOF::Hits2SDigits()
{
//
// Use the TOF SDigitizer to make TOF SDigits
//
-//
- //#ifdef DEBUG
- cout<<"ALiTOF::Hits2SDigits> start...\n";
- //#endif
+
+// cout<<"AliTOF::Hits2SDigits> start...\n";
- //char * fileSDigits = 0 ;
- char * fileHeader = 0;
- AliTOFSDigitizer * sd = new AliTOFSDigitizer(fileHeader) ;
+ AliRunLoader * rl = fLoader->GetRunLoader();
+ AliTOFSDigitizer sd((rl->GetFileName()).Data());
+ if (GetDebug()) sd.Print("");
- sd->Exec("") ;
- sd->Print("");
+ sd.Exec("") ;
+
+}
+
+//---------------------------------------------------------------------
+void AliTOF::Hits2SDigits(Int_t evNumber1, Int_t evNumber2)
+{
+//
+// Use the TOF SDigitizer to make TOF SDigits
+//
+
+ if ((evNumber2-evNumber1)==1)
+ cout << "<AliTOF::Hits2SDigits>: I am making sdigits for the " << evNumber1 << "th event \n";
+ else if ((evNumber2-evNumber1)>1)
+ cout << "<AliTOF::Hits2SDigits>: I am making sdigits for the events from the "
+ << evNumber1 << "th to the " << evNumber2-1 << "th \n";
+
+ AliRunLoader * rl = fLoader->GetRunLoader();
+ AliTOFSDigitizer sd((rl->GetFileName()).Data(),evNumber1,evNumber2) ;
+ if (GetDebug()) sd.Print("");
+
+ sd.Exec("") ;
- delete sd ;
-
}
+
+//___________________________________________________________________________
+AliDigitizer* AliTOF::CreateDigitizer(AliRunDigitizer* manager) const
+{
+ return new AliTOFDigitizer(manager);
+}
+
//___________________________________________________________________________
Bool_t AliTOF::CheckOverlap(Int_t* vol, Float_t* digit,Int_t Track)
{
if (nStrip<=fNStripC+2*fNStripB+fNStripA) nPlate = 4;
if (nStrip<=fNStripC+fNStripB+fNStripA) nPlate = 3;
if (nStrip<=fNStripC+fNStripB) nPlate = 2;
- if (nStrip<=fNStripC) nPlate=1;
+ if (nStrip<=fNStripC) nPlate = 1;
vol[1] = nPlate;
switch (nPlate){
case 1: break;
//
fSDigits = new TClonesArray("AliTOFSDigit", 1000);
}
+