X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDdigitsManager.cxx;h=fc0817829a64ced42f3c11f287a80818c8843bfb;hb=c064c31f726b3590caf9eb23398798991034c010;hp=ec0a0ebf6ba8e4687caf8bffc72696c7a125fde2;hpb=4f5f1ae2775f3b8181c6752e93771907817ad53e;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDdigitsManager.cxx b/TRD/AliTRDdigitsManager.cxx index ec0a0ebf6ba..fc0817829a6 100644 --- a/TRD/AliTRDdigitsManager.cxx +++ b/TRD/AliTRDdigitsManager.cxx @@ -90,6 +90,11 @@ AliTRDdigitsManager::AliTRDdigitsManager(const AliTRDdigitsManager &m) // AliTRDdigitsManager copy constructor // + for (Int_t iDict = 0; iDict < kNDict; iDict++) + { + fDict[iDict] = NULL; + } + } //_____________________________________________________________________________ @@ -239,105 +244,6 @@ void AliTRDdigitsManager::CreateArrays() 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); } @@ -468,8 +374,9 @@ Bool_t AliTRDdigitsManager::MakeBranch(TTree * const tree) // 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); @@ -552,8 +459,8 @@ Bool_t AliTRDdigitsManager::ReadDigits(TTree * const tree) 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; @@ -564,7 +471,7 @@ Bool_t AliTRDdigitsManager::ReadDigits(TTree * const tree) Bool_t AliTRDdigitsManager::WriteDigits() { // - // Writes out the TRD-digits and the dictionaries + // Writes out the TRD-digits, the dictionaries and the digitsPaam // if (!StoreArrayDigits()) @@ -581,6 +488,12 @@ Bool_t AliTRDdigitsManager::WriteDigits() return kFALSE; } } + + if (!StoreDigitsParam()) + { + AliError("Error while storing digitsParam\n"); + return kFALSE; + } // Write the new tree to the output file fTree->AutoSave(); @@ -626,7 +539,7 @@ Int_t AliTRDdigitsManager::GetTrack(Int_t track 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; } @@ -716,7 +629,7 @@ AliTRDarrayDictionary *AliTRDdigitsManager::GetDictionary(Int_t det } //_____________________________________________________________________________ -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 @@ -965,7 +878,7 @@ Bool_t AliTRDdigitsManager::LoadArrayDict() // 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) { @@ -1100,7 +1013,7 @@ Bool_t AliTRDdigitsManager::StoreArrayDict() // 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) {