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