// AliTRDdigitsManager copy constructor
//
+ for (Int_t iDict = 0; iDict < kNDict; iDict++)
+ {
+ fDict[iDict] = NULL;
+ }
+
}
//_____________________________________________________________________________
delete fDigitsParam;
}
fDigitsParam = new AliTRDdigitsParam();
- fDigitsParam->SetNTimeBins(AliTRDSimParam::Instance()->GetNTimeBins());
- fDigitsParam->SetADCbaseline(AliTRDSimParam::Instance()->GetADCbaseline());
-
-}
-
-//_____________________________________________________________________________
-void AliTRDdigitsManager::ResetArrays()
-{
- //
- // Reset the data arrays
- //
-
- if (fDigits)
- {
- fDigits->Delete();
- delete fDigits;
- }
- if (fHasSDigits)
- {
- fDigits = new TObjArray(fDets);
- for (Int_t index = 0; index < fDets; index++)
- {
- fDigits->AddAt(new AliTRDarraySignal(),index);
- }
- }
- else
- {
- fDigits = new TObjArray(fDets);
- for (Int_t index = 0; index < fDets; index++)
- {
- fDigits->AddAt(new AliTRDarrayADC(),index);
- }
- }
-
- for (Int_t iDict = 0; iDict < kNDict; iDict++)
- {
- if (fDict[iDict])
- {
- fDict[iDict]->Delete();
- delete fDict[iDict];
- fDict[iDict] = NULL;
- }
- }
- if (fUseDictionaries)
- {
- for (Int_t iDict = 0; iDict < kNDict; iDict++)
- {
- fDict[iDict] = new TObjArray(fDets);
- for (Int_t index = 0; index < fDets; index++)
- {
- fDict[iDict]->AddAt(new AliTRDarrayDictionary(),index);
- }
- }
- }
-
- if (fSignalIndexes)
- {
- fSignalIndexes->Delete();
- delete fSignalIndexes;
- }
- fSignalIndexes = new TObjArray(fDets);
- for (Int_t i = 0; i < fDets; i++)
- {
- fSignalIndexes->AddLast(new AliTRDSignalIndex());
- }
-
-}
-
-//_____________________________________________________________________________
-void AliTRDdigitsManager::ResetArrays(Int_t det)
-{
- //
- // Reset the data arrays
- //
-
- Int_t recoDet = fRawRec ? 0 : det;
-
- RemoveDigits(recoDet);
- RemoveDictionaries(recoDet);
- RemoveIndexes(recoDet);
-
- if (fHasSDigits)
- {
- fDigits->AddAt(new AliTRDarraySignal(),recoDet);
- }
- else
- {
- fDigits->AddAt(new AliTRDarrayADC(),recoDet);
- }
-
- if (fUseDictionaries)
- {
- for (Int_t iDict = 0; iDict < kNDict; iDict++)
- {
- fDict[iDict]->AddAt(new AliTRDarrayDictionary(),recoDet);
- }
- }
-
- fSignalIndexes->AddAt(new AliTRDSignalIndex(),recoDet);
}
// Make the branches for the dictionaries
for (Int_t iDict = 0; iDict < kNDict; iDict++)
{
- Char_t branchname[15];
- sprintf(branchname,"TRDdictionary%d",iDict);
+ const Int_t kBranchname = 15;
+ Char_t branchname[kBranchname];
+ snprintf(branchname,kBranchname,"TRDdictionary%d",iDict);
if (fDict[iDict])
{
const AliTRDarrayDictionary *kDictionary = (AliTRDarrayDictionary *) fDict[iDict]->At(0);
AliWarning(Form("Create default version of digits parameter (NTimeBin=%d).\n"
,AliTRDSimParam::Instance()->GetNTimeBins()));
fDigitsParam = new AliTRDdigitsParam();
- fDigitsParam->SetNTimeBins(AliTRDSimParam::Instance()->GetNTimeBins());
- fDigitsParam->SetADCbaseline(AliTRDSimParam::Instance()->GetADCbaseline());
+ fDigitsParam->SetNTimeBinsAll(AliTRDSimParam::Instance()->GetNTimeBins());
+ fDigitsParam->SetADCbaselineAll(AliTRDSimParam::Instance()->GetADCbaseline());
}
return status;
Bool_t AliTRDdigitsManager::WriteDigits()
{
//
- // Writes out the TRD-digits and the dictionaries
+ // Writes out the TRD-digits, the dictionaries and the digitsPaam
//
if (!StoreArrayDigits())
return kFALSE;
}
}
+
+ if (!StoreDigitsParam())
+ {
+ AliError("Error while storing digitsParam\n");
+ return kFALSE;
+ }
// Write the new tree to the output file
fTree->AutoSave();
if ((track < 0) || (track >= kNDict))
{
- AliError(Form("track %d out of bounds (size: %d, this: 0x%08x)",track,kNDict,this));
+ AliError(Form("track %d out of bounds (size: %d, this: 0x%p)",track,kNDict,this));
return -1;
}
// Returns the digits array for one detector
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
if (!fDigits)
{
if (!fHasSDigits)
{
- ((AliTRDarrayADC *) fDigits->At(RecoDet))->SetNdet(det);
- return (AliTRDarrayADC *) fDigits->At(RecoDet);
+ ((AliTRDarrayADC *) fDigits->At(recoDet))->SetNdet(det);
+ return (AliTRDarrayADC *) fDigits->At(recoDet);
}
else
{
// Returns the sdigits array for one detector
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
if (!fDigits)
{
if (fHasSDigits)
{
- ((AliTRDarraySignal *) fDigits->At(RecoDet))->SetNdet(det);
- return (AliTRDarraySignal *) fDigits->At(RecoDet);
+ ((AliTRDarraySignal *) fDigits->At(recoDet))->SetNdet(det);
+ return (AliTRDarraySignal *) fDigits->At(recoDet);
}
else
{
// Returns the dictionary for one detector
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
if (fUseDictionaries == kFALSE)
{
return 0x0;
}
- ((AliTRDarrayDictionary *) fDigits->At(RecoDet))->SetNdet(det);
- return (AliTRDarrayDictionary *) fDict[i]->At(RecoDet);
+ ((AliTRDarrayDictionary *) fDigits->At(recoDet))->SetNdet(det);
+ return (AliTRDarrayDictionary *) fDict[i]->At(recoDet);
}
// Returns indexes of active pads
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
- return (AliTRDSignalIndex *) fSignalIndexes->At(RecoDet);
+ return (AliTRDSignalIndex *) fSignalIndexes->At(recoDet);
}
// Clear memory at det for Digits
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
- if (fDigits->At(RecoDet))
+ if (fDigits->At(recoDet))
{
if (fHasSDigits)
{
- AliTRDarraySignal *arr = (AliTRDarraySignal *) fDigits->RemoveAt(RecoDet);
+ AliTRDarraySignal *arr = (AliTRDarraySignal *) fDigits->RemoveAt(recoDet);
delete arr;
}
else
{
- AliTRDarrayADC *arr = (AliTRDarrayADC *) fDigits->RemoveAt(RecoDet);
+ AliTRDarrayADC *arr = (AliTRDarrayADC *) fDigits->RemoveAt(recoDet);
delete arr;
}
}
// Clear memory
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
if (fUseDictionaries == kFALSE)
{
for (Int_t i = 0; i < kNDict; i++)
{
- if (fDict[i]->At(RecoDet))
+ if (fDict[i]->At(recoDet))
{
- AliTRDarrayDictionary *arr = (AliTRDarrayDictionary *) fDict[i]->RemoveAt(RecoDet);
+ AliTRDarrayDictionary *arr = (AliTRDarrayDictionary *) fDict[i]->RemoveAt(recoDet);
delete arr;
}
}
// Clear memory
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
- if (fSignalIndexes->At(RecoDet))
+ if (fSignalIndexes->At(recoDet))
{
- AliTRDSignalIndex *arr = (AliTRDSignalIndex *) fSignalIndexes->RemoveAt(RecoDet);
+ AliTRDSignalIndex *arr = (AliTRDSignalIndex *) fSignalIndexes->RemoveAt(recoDet);
delete arr;
}
// Clear memory
//
- Int_t RecoDet = fRawRec ? 0 : det;
+ Int_t recoDet = fRawRec ? 0 : det;
- ((AliTRDSignalIndex *) fSignalIndexes->At(RecoDet))->ClearAll();
+ ((AliTRDSignalIndex *) fSignalIndexes->At(recoDet))->ClearAll();
}
// Get the branch
Char_t branchname[15];
- sprintf(branchname,"TRDdictionary%d",iDict);
+ snprintf(branchname,15,"TRDdictionary%d",iDict);
TBranch *branch = fTree->GetBranch(branchname);
if (!branch)
{
// Get the branch
Char_t branchname[15];
- sprintf(branchname,"TRDdictionary%d",iDict);
+ snprintf(branchname,15,"TRDdictionary%d",iDict);
TBranch *branch = fTree->GetBranch(branchname);
if (!branch)
{