// 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;
}
}
//_____________________________________________________________________________
-Int_t AliTRDdigitsManager::GetTrack(Int_t track, AliTRDdigit * const digit) const
+Int_t AliTRDdigitsManager::GetTrack(Int_t track, const AliTRDdigit * const digit) const
{
//
// Returns the MC-track numbers from the dictionary for a given digit
// 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)
{