FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndBranchBurstBuilder Class Referenceabstract

#include <PndBranchBurstBuilder.h>

Inheritance diagram for PndBranchBurstBuilder:
PndBranchBurstBuilder_eventBased PndBranchBurstBuilder_timeCut PndBranchBurstBuilder_timeCut_STB

Public Member Functions

 PndBranchBurstBuilder ()
 
virtual ~PndBranchBurstBuilder ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual TClonesArray * GetBurstData (size_t inBranchNum)=0
 
void SetOutputPrefix (TString prefix)
 
void AddInputBranch (TString branchName)
 
void SetPersistence (Bool_t val)
 

Protected Member Functions

 ClassDef (PndBranchBurstBuilder, 0)
 

Protected Attributes

std::vector< TStringfInBranchNames
 
std::vector< TClonesArray * > fInArrays
 
std::vector< TClonesArray * > fOutArrays
 
TString fOutputPrefix
 
Bool_t fPersistence
 

Detailed Description

Definition at line 23 of file PndBranchBurstBuilder.h.

Constructor & Destructor Documentation

PndBranchBurstBuilder::PndBranchBurstBuilder ( )

Default constructor

Definition at line 22 of file PndBranchBurstBuilder.cxx.

References fOutputPrefix, and fPersistence.

22  :
23  FairTask("PndBranchBurstBuilder")
24 {
25  fPersistence = kTRUE;
26  fOutputPrefix = "Burst";
27 }
PndBranchBurstBuilder::~PndBranchBurstBuilder ( )
virtual

Destructor

Definition at line 29 of file PndBranchBurstBuilder.cxx.

30 {
31 }

Member Function Documentation

void PndBranchBurstBuilder::AddInputBranch ( TString  branchName)
inline

Definition at line 58 of file PndBranchBurstBuilder.h.

References fInBranchNames.

58 { fInBranchNames.push_back(branchName);};
std::vector< TString > fInBranchNames
PndBranchBurstBuilder::ClassDef ( PndBranchBurstBuilder  ,
 
)
protected
void PndBranchBurstBuilder::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 74 of file PndBranchBurstBuilder.cxx.

References fInBranchNames, fOutArrays, GetBurstData(), and i.

75 {
76 
77  for (size_t i = 0; i < fInBranchNames.size(); i++) {
78 
79  fOutArrays[i]->Delete(); // make sure data written out from old events are deleted
80  fOutArrays[i]->AbsorbObjects(GetBurstData(i));
81 
82  }
83 
84 }
std::vector< TString > fInBranchNames
std::vector< TClonesArray * > fOutArrays
Int_t i
Definition: run_full.C:25
virtual TClonesArray * GetBurstData(size_t inBranchNum)=0
virtual TClonesArray* PndBranchBurstBuilder::GetBurstData ( size_t  inBranchNum)
pure virtual
InitStatus PndBranchBurstBuilder::Init ( )
virtual

Virtual method Init

Reimplemented in PndBranchBurstBuilder_timeCut_STB, PndBranchBurstBuilder_timeCut, and PndBranchBurstBuilder_eventBased.

Definition at line 35 of file PndBranchBurstBuilder.cxx.

References fInArrays, fInBranchNames, fOutArrays, fOutputPrefix, fPersistence, i, and TString.

Referenced by PndBranchBurstBuilder_eventBased::Init(), PndBranchBurstBuilder_timeCut::Init(), and PndBranchBurstBuilder_timeCut_STB::Init().

36 {
37 
38 
39 
40  FairRootManager* ioman = FairRootManager::Instance();
41 
42  if ( ! ioman )
43  {
44  std::cout << "-E- PndBranchBurstBuilder::Init: "
45  << "RootManager not instantiated!" << std::endl;
46  return kFATAL;
47  }
48 
49  if(fInBranchNames.size()==0) {
50  std::cout << "kERROR ------ no inputBranch for PndBranchBurstBuilder -------" << std::endl;
51  return kERROR;
52  }
53 
54  TString inputName = "none";
55  TString outputFolder = "Burst";
56  TString outputName;
57 
58  for (size_t i = 0; i < fInBranchNames.size(); i++){
59  inputName = fInBranchNames[i];
60  outputName = fOutputPrefix + "_" + inputName;
61  fInArrays.push_back((TClonesArray*)ioman->GetObject(inputName.Data()));
62  if ( ! fInArrays[i]){
63  std::cout << " Input Array not found for PndBranchBurstBuilder: "<< inputName << std::endl;
64  return kERROR;
65  }
66 
67  fOutArrays.push_back(ioman->Register(outputName.Data(), fInArrays[i]->GetClass()->GetName(), outputFolder, fPersistence));
68  }
69 
70  return kSUCCESS;
71 }
std::vector< TString > fInBranchNames
std::vector< TClonesArray * > fOutArrays
Int_t i
Definition: run_full.C:25
std::vector< TClonesArray * > fInArrays
void PndBranchBurstBuilder::SetOutputPrefix ( TString  prefix)
inline

Definition at line 56 of file PndBranchBurstBuilder.h.

References fOutputPrefix.

56 {fOutputPrefix=prefix;};
void PndBranchBurstBuilder::SetPersistence ( Bool_t  val)
inline

Definition at line 61 of file PndBranchBurstBuilder.h.

References fPersistence, and val.

61 { fPersistence = val;};
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11

Member Data Documentation

std::vector<TClonesArray*> PndBranchBurstBuilder::fInArrays
protected
std::vector<TString> PndBranchBurstBuilder::fInBranchNames
protected
std::vector<TClonesArray*> PndBranchBurstBuilder::fOutArrays
protected
TString PndBranchBurstBuilder::fOutputPrefix
protected
Bool_t PndBranchBurstBuilder::fPersistence
protected

Definition at line 72 of file PndBranchBurstBuilder.h.

Referenced by Init(), PndBranchBurstBuilder(), and SetPersistence().


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