00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "TGo4BranchStatus.h"
00015
00016 #include "Riostream.h"
00017
00018 #include "TGo4Log.h"
00019
00020 #include "TBranch.h"
00021 #include "TBranchElement.h"
00022
00023 TGo4BranchStatus::TGo4BranchStatus() :
00024 TGo4ObjectStatus()
00025 {
00026 }
00027
00028 TGo4BranchStatus::TGo4BranchStatus(TBranch* branch) :
00029 TGo4ObjectStatus(branch, kFALSE)
00030 {
00031 if (branch!=0)
00032 {
00033 if(branch->InheritsFrom(TBranchElement::Class()))
00034 fxObjectClass = (dynamic_cast<TBranchElement*>(branch))->GetTypeName();
00035 else
00036 fxObjectClass = branch->GetClassName();
00037 }
00038 if (fxObjectClass.Length()==0)
00039 fxObjectClass = branch ? branch->ClassName() : "BranchElement";
00040 }
00041
00042 TGo4BranchStatus::~TGo4BranchStatus()
00043 {
00044 }
00045
00046 Int_t TGo4BranchStatus::PrintStatus(Text_t* buffer, Int_t buflen)
00047 {
00048
00049 TRACE((12,"TGo4BranchStatus::PrintStatus()",__LINE__, __FILE__));
00050 if(buflen<=0 && buffer!=0)
00051 return 0;
00052 Int_t locallen=128000;
00053 Text_t localbuf[128000];
00054 Int_t size=0;
00055 Text_t* current=localbuf;
00056 Int_t restlen=locallen;
00057 Int_t delta= TGo4ObjectStatus::PrintStatus(current,restlen);
00058 restlen-=delta;
00059 current+=delta;
00060 current=PrintIndent(current,restlen);
00061 current=PrintBuffer(current,restlen, "G-OOOO-> TreeBranch Status Class Printout <-OOOO-G\n");
00062 current=PrintIndent(current,restlen);
00063 current=PrintBuffer(current,restlen, "G-OOOO-> ---------------------------------------------- <-OOOO-G\n");
00064 if(buffer==0)
00065 {
00066 cout << localbuf << endl;
00067 }
00068 else
00069 {
00070 size=locallen-restlen;
00071 if(size>buflen-1)
00072 size=buflen-1;
00073 strncpy(buffer,localbuf,size);
00074 }
00075 return size;
00076 }