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

#include <PndBranchBurstBuilder_eventBased.h>

Inheritance diagram for PndBranchBurstBuilder_eventBased:
PndBranchBurstBuilder

Public Member Functions

 PndBranchBurstBuilder_eventBased ()
 
virtual ~PndBranchBurstBuilder_eventBased ()
 
virtual InitStatus Init ()
 
virtual TClonesArray * GetBurstData (size_t branchNum)
 
virtual void FinishTask ()
 
void SetNEvents (int num)
 
virtual void Exec (Option_t *opt)
 
void SetOutputPrefix (TString prefix)
 
void AddInputBranch (TString branchName)
 
void SetPersistence (Bool_t val)
 

Protected Member Functions

 ClassDef (PndBranchBurstBuilder_eventBased, 0)
 
 ClassDef (PndBranchBurstBuilder, 0)
 

Protected Attributes

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

Detailed Description

Definition at line 21 of file PndBranchBurstBuilder_eventBased.h.

Constructor & Destructor Documentation

PndBranchBurstBuilder_eventBased::PndBranchBurstBuilder_eventBased ( )

Default constructor

Definition at line 17 of file PndBranchBurstBuilder_eventBased.cxx.

References fNEvents, and PndBranchBurstBuilder::fOutputPrefix.

PndBranchBurstBuilder_eventBased::~PndBranchBurstBuilder_eventBased ( )
virtual

Destructor

Definition at line 25 of file PndBranchBurstBuilder_eventBased.cxx.

26 {
27 }

Member Function Documentation

void PndBranchBurstBuilder::AddInputBranch ( TString  branchName)
inlineinherited

Definition at line 58 of file PndBranchBurstBuilder.h.

References PndBranchBurstBuilder::fInBranchNames.

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

Virtual method Exec

Definition at line 74 of file PndBranchBurstBuilder.cxx.

References PndBranchBurstBuilder::fInBranchNames, PndBranchBurstBuilder::fOutArrays, PndBranchBurstBuilder::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
void PndBranchBurstBuilder_eventBased::FinishTask ( )
virtual

Virtual method Exec

Definition at line 60 of file PndBranchBurstBuilder_eventBased.cxx.

References PndBranchBurstBuilder::fInBranchNames, PndBranchBurstBuilder::fOutArrays, fTempArrays, and i.

61 {
62  // write out the data collected for a maybe last and uncomplete Burst
63 
64  for (size_t i =0; i < fInBranchNames.size();i++){
65  fOutArrays[i]->Delete(); // make sure data written out from old events are deleted
66  fOutArrays[i]->AbsorbObjects(fTempArrays[i]);
67  }
68  FairRootManager::Instance()->SetLastFill();
69 
70 }
std::vector< TString > fInBranchNames
std::vector< TClonesArray * > fOutArrays
Int_t i
Definition: run_full.C:25
TClonesArray * PndBranchBurstBuilder_eventBased::GetBurstData ( size_t  branchNum)
virtual

Implements PndBranchBurstBuilder.

Definition at line 44 of file PndBranchBurstBuilder_eventBased.cxx.

References PndBranchBurstBuilder::fInArrays, fNEvents, and fTempArrays.

45 {
46 
47 
48  FairRootManager* ioman = FairRootManager::Instance();
49  //generate empty dummy array to retrun when not enough data is collected for a burst
50  TClonesArray* emptyArray = new TClonesArray(fInArrays[branchNum]->GetClass()->GetName());
51 
52  fTempArrays[branchNum]->AbsorbObjects(fInArrays[branchNum]); //fill the temp array with the data of the new events
53  if(ioman->GetEntryNr() % fNEvents == fNEvents - 1) { //if enough data is collected :
54  return fTempArrays[branchNum]; // the absorbtion of the returned TClonesArray will reset the TempArray
55  }
56 
57  return emptyArray;
58 }
std::vector< TClonesArray * > fInArrays
InitStatus PndBranchBurstBuilder_eventBased::Init ( )
virtual

Virtual method Init

Reimplemented from PndBranchBurstBuilder.

Definition at line 31 of file PndBranchBurstBuilder_eventBased.cxx.

References PndBranchBurstBuilder::fInArrays, PndBranchBurstBuilder::fInBranchNames, fTempArrays, i, PndBranchBurstBuilder::Init(), and status.

32 {
33 
34  InitStatus status = PndBranchBurstBuilder::Init();
35 
36  for (size_t i =0; i < fInBranchNames.size();i++){
37  fTempArrays.push_back(new TClonesArray(fInArrays[i]->GetClass()->GetName()));
38  }
39 
40  return status;
41 }
std::vector< TString > fInBranchNames
Int_t i
Definition: run_full.C:25
std::vector< TClonesArray * > fInArrays
virtual InitStatus Init()
int status[10]
Definition: f_Init.h:28
void PndBranchBurstBuilder_eventBased::SetNEvents ( int  num)
inline

Definition at line 51 of file PndBranchBurstBuilder_eventBased.h.

References fNEvents, and num.

void PndBranchBurstBuilder::SetOutputPrefix ( TString  prefix)
inlineinherited

Definition at line 56 of file PndBranchBurstBuilder.h.

References PndBranchBurstBuilder::fOutputPrefix.

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

Definition at line 61 of file PndBranchBurstBuilder.h.

References PndBranchBurstBuilder::fPersistence, and val.

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

Member Data Documentation

std::vector<TClonesArray*> PndBranchBurstBuilder::fInArrays
protectedinherited
std::vector<TString> PndBranchBurstBuilder::fInBranchNames
protectedinherited
int PndBranchBurstBuilder_eventBased::fNEvents
protected
std::vector<TClonesArray*> PndBranchBurstBuilder::fOutArrays
protectedinherited
TString PndBranchBurstBuilder::fOutputPrefix
protectedinherited
Bool_t PndBranchBurstBuilder::fPersistence
protectedinherited
std::vector<TClonesArray*> PndBranchBurstBuilder_eventBased::fTempArrays
protected

Definition at line 56 of file PndBranchBurstBuilder_eventBased.h.

Referenced by FinishTask(), GetBurstData(), and Init().


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