FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PndPrintFairLinks Class Reference

#include <PndPrintFairLinks.h>

Inheritance diagram for PndPrintFairLinks:

Public Member Functions

 PndPrintFairLinks ()
 
virtual ~PndPrintFairLinks ()
 
virtual void SetParContainers ()
 
virtual void AddBranchName (const TString &name)
 
virtual void PrintBranchNameList (TList *branches)
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void Finish ()
 

Protected Member Functions

void InitBranchList (TList *branches)
 

Private Member Functions

void Register ()
 
void Reset ()
 
void ProduceHits ()
 
 ClassDef (PndPrintFairLinks, 1)
 

Private Attributes

std::map< Int_t, TClonesArray * > fBranches
 
TList * fSelectedBranches
 

Detailed Description

Definition at line 27 of file PndPrintFairLinks.h.

Constructor & Destructor Documentation

PndPrintFairLinks::PndPrintFairLinks ( )

Default constructor

Definition at line 27 of file PndPrintFairLinks.cxx.

27  : FairTask("Creates PndMCMatch"), fSelectedBranches(new TList())
28 {
29 }
PndPrintFairLinks::~PndPrintFairLinks ( )
virtual

Destructor

Definition at line 34 of file PndPrintFairLinks.cxx.

35 {
36 }

Member Function Documentation

virtual void PndPrintFairLinks::AddBranchName ( const TString name)
inlinevirtual

Definition at line 41 of file PndPrintFairLinks.h.

References fSelectedBranches.

41  {
42  fSelectedBranches->AddLast(new TObjString(name.Data()));
43  }
TString name
PndPrintFairLinks::ClassDef ( PndPrintFairLinks  ,
 
)
private
void PndPrintFairLinks::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 110 of file PndPrintFairLinks.cxx.

References fBranches, and i.

111 {
112  std::cout << std::endl << "--------------------- Event " << FairRootManager::Instance()->GetEntryNr() <<
113  " at " << FairRootManager::Instance()->GetEventTime() << " ns ----------------------" << std::endl;
114  for (std::map<Int_t, TClonesArray*>::iterator iter = fBranches.begin(); iter != fBranches.end(); iter++){
115  std::cout << std::endl << iter->first << " : " << FairRootManager::Instance()->GetBranchName(iter->first) << " Entries: " << iter->second->GetEntriesFast() << std::endl;
116  for (int i = 0; i < iter->second->GetEntriesFast(); i++){
117  FairMultiLinkedData_Interface* myLinks = (FairMultiLinkedData_Interface*)iter->second->At(i);
118  if (myLinks->GetPointerToLinks() != 0){
119  std::cout << i << " : " << *myLinks << std::endl << std::endl;
120  }
121  }
122  }
123 }
Int_t i
Definition: run_full.C:25
void PndPrintFairLinks::Finish ( )
virtual

Definition at line 125 of file PndPrintFairLinks.cxx.

126 {
127 }
InitStatus PndPrintFairLinks::Init ( )
virtual

Definition at line 39 of file PndPrintFairLinks.cxx.

References fSelectedBranches, InitBranchList(), and PrintBranchNameList().

40 {
41  FairRootManager* ioman = FairRootManager::Instance();
42  if (!ioman) {
43  std::cout << "-E- PndPrintFairLinks::Init: "
44  << "RootManager not instantiated!" << std::endl;
45  return kFATAL;
46  }
47 
48  TList* branchNames;
49  if (fSelectedBranches->GetEntries() > 0){
50  branchNames = fSelectedBranches;
51  } else {
52  branchNames = ioman->GetBranchNameList();
53  }
54 
55  InitBranchList(branchNames);
56 
57  PrintBranchNameList(ioman->GetBranchNameList());
58 
59  return kSUCCESS;
60 }
void PndPrintFairLinks::InitBranchList ( TList *  branches)
protected

Definition at line 63 of file PndPrintFairLinks.cxx.

References fBranches, and i.

Referenced by Init().

64 {
65  FairRootManager* ioman = FairRootManager::Instance();
66  for (int i = 0; i < branches->GetEntries(); i++) {
67  TObjString* branchName = (TObjString*) branches->At(i);
68  if (branchName->String().Contains("_link")) continue;
69  if (branchName->String().Contains("MCTrack")) continue;
70  if (branchName->String().Contains(".")) continue;
71  if (branchName->String().Contains("GeoTracks")) continue;
72  if (branchName->String().Contains("Header")) continue;
73  if (branchName->String().Contains("Info")) continue;
74  if (branchName->String().Contains("ID")) continue;
75  if (branchName->String().Contains("PidAlgo")) continue;
76  if (branchName->String().Contains("Riemann")) continue;
77 
78  std::cout << "PndPrintFairLinks::Init() branches: " << branchName->String() << std::endl;
79  if ((TClonesArray*)ioman->GetObject(branchName->String()) != 0){
80  fBranches[ioman->GetBranchId(branchName->String())] = (TClonesArray*)ioman->GetObject(branchName->String());
81  } else {
82  std::cout << "-E- PndPrintFairLinks " << branchName->String().Data() << " is not a valid branch name!" << std::endl;
83  }
84  }
85 }
Int_t i
Definition: run_full.C:25
void PndPrintFairLinks::PrintBranchNameList ( TList *  branches)
virtual

Definition at line 88 of file PndPrintFairLinks.cxx.

References i.

Referenced by Init().

89 {
90  std::cout << "-I- PndPrintFairLinks Branches:" << std::endl;
91 
92  for (int i = 0; i < branches->GetEntries(); i++) {
93  TObjString* branchName = (TObjString*) branches->At(i);
94  std::cout << i << " : " << branchName->String().Data() << std::endl;
95  }
96  std::cout << std::endl;
97 }
Int_t i
Definition: run_full.C:25
void PndPrintFairLinks::ProduceHits ( )
private
void PndPrintFairLinks::Register ( )
private
void PndPrintFairLinks::Reset ( )
private
void PndPrintFairLinks::SetParContainers ( )
virtual

Virtual method Init

Definition at line 100 of file PndPrintFairLinks.cxx.

101 {
102  // Get Base Container
103 // FairRun* ana = FairRun::Instance();
104 // FairRuntimeDb* rtdb=ana->GetRuntimeDb();
105 
106 }

Member Data Documentation

std::map<Int_t, TClonesArray*> PndPrintFairLinks::fBranches
private

Definition at line 61 of file PndPrintFairLinks.h.

Referenced by Exec(), and InitBranchList().

TList* PndPrintFairLinks::fSelectedBranches
private

Definition at line 62 of file PndPrintFairLinks.h.

Referenced by AddBranchName(), and Init().


The documentation for this class was generated from the following files: