{
//Destructor
if(fMC) CloseMCOutput();
- if(fDigitsTree) delete fDigitsTree;
+ FreeDigitsTree();
if(fInAli) CloseAliInput();
}
+void AliL3FileHandler::FreeDigitsTree()
+{
+ if(!fDigitsTree)
+ {
+ LOG(AliL3Log::kWarning,"AliL3FileHandler::FreeDigitsTree()","Pointer")
+ <<"Cannot free digitstree, it is not present"<<ENDLOG;
+ return;
+ }
+ fDigits=0;
+ fDigitsTree->Delete();
+ fDigitsTree=0;
+}
+
+
Bool_t AliL3FileHandler::SetMCOutput(char *name)
{
fMC = fopen(name,"w");
if(!fDigitsTree)
GetDigitsTree(event);
-
+
UShort_t dig;
Int_t time,pad,sector,row;
Int_t nrows=0;
if(lslice != fSlice) break;
if(lrow < fRowMin) continue;
if(lrow > fRowMax) break;
-
+
Float_t xyz[3];
ndigits[lrow] = 0;
fDigits->First();
return data;
}
+
Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
{
//Connects to the TPC digit tree in the AliROOT file.
fInAli->cd();
Char_t dname[100];
sprintf(dname,"TreeD_75x40_100x60_%d",event);
- fDigitsTree = (TTree*)fInAli->Get("TreeD_75x40_100x60_0");
+ fDigitsTree = (TTree*)fInAli->Get(dname);
if(!fDigitsTree)
{
LOG(AliL3Log::kError,"AliL3FileHandler::GetDigitsTree","Digits Tree")
AliL3FileHandler();
virtual ~AliL3FileHandler();
+ void FreeDigitsTree();
Bool_t SetAliInput(char *name);
Bool_t SetAliInput(TFile *file);
void CloseAliInput();
Bool_t IsDigit();
-
+
+
Bool_t SetMCOutput(char *name);
Bool_t SetMCOutput(FILE *file);
void CloseMCOutput();
Int_t GetPatch(){return fPatch;}
//virtual functions:
+ virtual void FreeDigitsTree() {return;}
virtual Bool_t SetAliInput(char *name){return 0;}
virtual void CloseAliInput(){return;}
virtual Bool_t IsDigit(){return 0;}