]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDdigitsManager.cxx
i)Added the fAlirootVersion, fRootVesrion and fGeant3Version fields along with the...
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitsManager.cxx
index 2279d744a319545f7d469dbac8506d9c555ca220..01be76a4232194586de73d980644028a5ffd981f 100644 (file)
@@ -35,7 +35,6 @@
 #include "AliTRDdataArrayI.h"
 #include "AliTRDdigit.h"
 #include "AliTRDgeometry.h"
-#include "AliTRD.h"
 
 ClassImp(AliTRDdigitsManager)
 
@@ -66,6 +65,7 @@ AliTRDdigitsManager::AliTRDdigitsManager():TObject()
 
 //_____________________________________________________________________________
 AliTRDdigitsManager::AliTRDdigitsManager(const AliTRDdigitsManager &m)
+:TObject(m)
 {
   //
   // AliTRDdigitsManager copy constructor
@@ -97,7 +97,7 @@ AliTRDdigitsManager::~AliTRDdigitsManager()
 }
 
 //_____________________________________________________________________________
-void AliTRDdigitsManager::Copy(TObject &m)
+void AliTRDdigitsManager::Copy(TObject &m) const
 {
   //
   // Copy function
@@ -157,8 +157,8 @@ void AliTRDdigitsManager::SetRaw()
   //
 
   fIsRaw = kTRUE;
-
-  fDigits->SetBit(AliTRDdigit::RawDigit());
+  if (fDigits)
+    fDigits->SetBit(AliTRDdigit::RawDigit());
   
 }
 
@@ -170,6 +170,7 @@ Short_t AliTRDdigitsManager::GetDigitAmp(Int_t row, Int_t col,Int_t time
   // Returns the amplitude of a digit
   //
 
+  if (!GetDigits(det)) return 0;
   return ((Short_t) GetDigits(det)->GetData(row,col,time));
 
 }
@@ -185,8 +186,6 @@ Bool_t AliTRDdigitsManager::MakeBranch(TTree *tree)
 
   Bool_t status = kTRUE;
 
-  AliTRD *trd = (AliTRD *) gAlice->GetDetector("TRD") ;
-
   if (tree) {
     fTree = tree;
   }
@@ -195,8 +194,10 @@ Bool_t AliTRDdigitsManager::MakeBranch(TTree *tree)
   if (fDigits) {
     const AliTRDdataArray *kDigits = (AliTRDdataArray *) fDigits->At(0);
     if (kDigits) {
-      trd->MakeBranchInTree(fTree,"TRDdigits",kDigits->IsA()->GetName()
-                                 ,&kDigits,buffersize,99);
+      if (!fTree) return kFALSE;
+      TBranch* branch = fTree->GetBranch("TRDdigits");
+      if (!branch) fTree->Branch("TRDdigits",kDigits->IsA()->GetName(),
+                                 &kDigits,buffersize,99);
       if (fDebug > 0) {
         printf("<AliTRDdigitsManager::MakeBranch> ");
         printf("Making branch TRDdigits\n");
@@ -218,8 +219,10 @@ Bool_t AliTRDdigitsManager::MakeBranch(TTree *tree)
       const AliTRDdataArray *kDictionary = 
               (AliTRDdataArray *) fDictionary[iDict]->At(0);
       if (kDictionary) {
-        trd->MakeBranchInTree(fTree,branchname,kDictionary->IsA()->GetName()
-                             ,&kDictionary,buffersize,99);
+       if (!fTree) return kFALSE;
+       TBranch* branch = fTree->GetBranch(branchname);
+       if (!branch) fTree->Branch(branchname,kDictionary->IsA()->GetName(),
+                                  &kDictionary,buffersize,99);
         if (fDebug > 0) {
           printf("<AliTRDdigitsManager::MakeBranch> ");
           printf("Making branch %s\n",branchname);
@@ -361,6 +364,7 @@ AliTRDdataArrayI *AliTRDdigitsManager::GetDigits(Int_t det) const
   // Returns the digits array for one detector
   //
 
+  if (!fDigits) return 0x0;
   return (AliTRDdataArrayI *) fDigits->At(det);
 
 }