Major upgrade of AliRoot code
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Jan 2001 20:29:00 +0000 (20:29 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Jan 2001 20:29:00 +0000 (20:29 +0000)
CONTAINERS/AliSegmentArray.cxx
CONTAINERS/AliSegmentArray.h
CONTAINERS/CONTAINERSLinkDef.h

index 6c51fec..54e816c 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.1  2000/11/01 15:57:13  kowal2
+Moved from the TPC directory
+
 Revision 1.3  2000/06/30 12:07:49  kowal2
 Updated from the TPC-PreRelease branch
 
@@ -35,6 +38,7 @@ New data structure handling
 //  Alice segment manager object                                             //
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
+#include <iostream.h>
 
 #include  <TROOT.h>
 #include <TTree.h>
@@ -44,6 +48,7 @@ New data structure handling
 #include "TError.h"
 #include "TClass.h"
 
+#include "AliRun.h"
 #include "AliSegmentID.h"
 #include "AliSegmentArray.h"
 #include "TObjString.h"
@@ -225,13 +230,24 @@ Bool_t AliSegmentArray::MakeArray(Int_t n)
 }
 
 
-void AliSegmentArray::MakeTree()
+void AliSegmentArray::MakeTree(char *file)
 {
   //  AliSegmentID  segment;
   AliSegmentID * psegment = NewSegment();  
   if (fTree) delete fTree;
   fTree = new TTree("Segment Tree","Tree with segments");
   fBranch = fTree->Branch("Segment",psegment->IsA()->GetName(),&psegment,64000,1);
+  if (file) {
+        TDirectory *wd = gDirectory;
+        fBranch->SetFile(file);
+        TBranch *b = fBranch;
+        TIter next( b->GetListOfBranches());
+        while ((b=(TBranch*)next())) {
+           b->SetFile(file);
+        }
+           cout << "Diverting branch " << "Segment" << " to file " << file << endl;  
+        wd->cd(); 
+    }
   delete psegment;
 }              
 
index 1e64d93..ddc408b 100644 (file)
@@ -16,6 +16,7 @@
 
 class TTree;
 class TBranch;
+class TFile;
 class AliArrayI;
 class AliSegmentID;
  
@@ -36,7 +37,7 @@ public:
   //input output functions
   TTree * GetTree(){return fTree;}      //return pointer to connected tree
   
-  virtual void MakeTree();              //Make tree with the name
+  virtual void MakeTree(char *file=0);              //Make tree with the name
   virtual Bool_t ConnectTree(const char * treeName); //connect tree from current directory 
   virtual AliSegmentID * LoadSegment(Int_t index);//load segment with index to the memory
   virtual AliSegmentID * LoadEntry(Int_t index); //load segment entry from position index in tree
index cabc4dc..2933974 100644 (file)
@@ -5,26 +5,26 @@
 #pragma link off all functions;
  
 
-#pragma link C++ class AliClassInfo;
-#pragma link C++ class AliDataType;
+#pragma link C++ class AliClassInfo+;
+#pragma link C++ class AliDataType+;
 
-#pragma link C++ class AliMemArray;
+#pragma link C++ class AliMemArray+;
 #pragma link C++ class AliObjectArray-;
-#pragma link C++ class TArrayOfArray;
+#pragma link C++ class TArrayOfArray+;
 
-#pragma link C++ class TArrayOfArrayVStack;
-#pragma link C++ class TArrayOfArrayVList;
+#pragma link C++ class TArrayOfArrayVStack+;
+#pragma link C++ class TArrayOfArrayVList+;
 
 
-#pragma link C++ class AliArraySubBranch;
+#pragma link C++ class AliArraySubBranch+;
 #pragma link C++ class AliArrayBranch-;
-#pragma link C++ class AliObjectBranch;
-#pragma link C++ class AliTree;
+#pragma link C++ class AliObjectBranch+;
+#pragma link C++ class AliTree+;
 
-#pragma link C++ class AliSegmentID;
+#pragma link C++ class AliSegmentID+;
 #pragma link C++ class AliSegmentArray-;
-#pragma link C++ class AliDigits;
-#pragma link C++ class AliArrayI; 
-#pragma link C++ class AliArrayS; 
+#pragma link C++ class AliDigits+;
+#pragma link C++ class AliArrayI+;
+#pragma link C++ class AliArrayS+;
 
 #endif