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

#include <PndMapSorterTask.h>

Inheritance diagram for PndMapSorterTask:

Public Member Functions

 PndMapSorterTask ()
 
 PndMapSorterTask (const char *name)
 
 PndMapSorterTask (TString inputBranch, TString outputBranch, TString folderName)
 
virtual ~PndMapSorterTask ()
 
virtual InitStatus Init ()
 
virtual InitStatus ReInit ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishEvent ()
 
virtual void FinishTask ()
 
virtual void SetParContainers ()
 
void SetPersistance (Bool_t p=kTRUE)
 
Bool_t GetPersistance ()
 
void SetTimeOffset (Double_t val)
 
virtual void AddNewDataToTClonesArray (FairTimeStamp *data)
 

Protected Member Functions

 PndMapSorterTask (const PndMapSorterTask &)
 
PndMapSorterTaskoperator= (const PndMapSorterTask &)
 
 ClassDef (PndMapSorterTask, 2)
 

Protected Attributes

PndMapSorterfSorter
 
Bool_t fPersistance
 
Bool_t fDigiPixelMCInfo
 
TString fInputBranch
 
TClonesArray * fInputArray
 
TString fOutputBranch
 
TString fFolder
 
TClonesArray * fOutputArray
 
Int_t fEntryNr
 
Double_t fTimeOffset
 

Detailed Description

Definition at line 26 of file PndMapSorterTask.h.

Constructor & Destructor Documentation

PndMapSorterTask::PndMapSorterTask ( )
inline

Default constructor

Definition at line 31 of file PndMapSorterTask.h.

References SetVerbose().

31  :
32  FairTask("SorterTask"),
33  fSorter(0),
34  fPersistance(kTRUE),
35  fDigiPixelMCInfo(kFALSE),
36  fInputBranch(),
37  fInputArray(0),
38  fOutputBranch(),
39  fFolder(),
40  fOutputArray(0),
41  fEntryNr(0),
42  fTimeOffset(1000000000)
43  {
44  SetVerbose(0);
45  }
TClonesArray * fInputArray
PndMapSorter * fSorter
drchit SetVerbose(iVerbose)
TClonesArray * fOutputArray
PndMapSorterTask::PndMapSorterTask ( const char *  name)
inline

Named constructor

Definition at line 48 of file PndMapSorterTask.h.

References SetVerbose().

48  :
49  FairTask(name),
50  fSorter(0),
51  fPersistance(kTRUE),
52  fDigiPixelMCInfo(kFALSE),
53  fInputBranch(),
54  fInputArray(0),
55  fOutputBranch(),
56  fFolder(),
57  fOutputArray(0),
58  fEntryNr(0),
59  fTimeOffset(1000000)
60  {
61  SetVerbose(0);
62  }
TClonesArray * fInputArray
PndMapSorter * fSorter
TString name
drchit SetVerbose(iVerbose)
TClonesArray * fOutputArray
PndMapSorterTask::PndMapSorterTask ( TString  inputBranch,
TString  outputBranch,
TString  folderName 
)
inline

Definition at line 64 of file PndMapSorterTask.h.

References SetVerbose().

64  :
65  FairTask("Sorter"),
66  fSorter(0),
67  fPersistance(kTRUE),
68  fDigiPixelMCInfo(kFALSE),
69  fInputBranch(inputBranch),
70  fInputArray(0),
71  fOutputBranch(outputBranch),
72  fFolder(folderName),
73  fOutputArray(0),
74  fEntryNr(0),
75  fTimeOffset(1000000)
76  {
77  SetVerbose(0);
78  }
TClonesArray * fInputArray
PndMapSorter * fSorter
drchit SetVerbose(iVerbose)
TClonesArray * fOutputArray
virtual PndMapSorterTask::~PndMapSorterTask ( )
inlinevirtual

Destructor

Definition at line 81 of file PndMapSorterTask.h.

References fSorter.

81  {
82  if (fSorter!= 0) { delete fSorter; }
83  }
PndMapSorter * fSorter
PndMapSorterTask::PndMapSorterTask ( const PndMapSorterTask )
protected

Member Function Documentation

void PndMapSorterTask::AddNewDataToTClonesArray ( FairTimeStamp *  data)
virtual

Definition at line 95 of file PndMapSorterTask.cxx.

References fOutputArray.

Referenced by Exec(), and FinishTask().

96 {
97  //FairRootManager* ioman = FairRootManager::Instance();
98  //TClonesArray* myArray = ioman->GetTClonesArray(fOutputBranch);
99  (*fOutputArray)[fOutputArray->GetEntries()] = data->Clone();
100  delete(data);
101 }
TClonesArray * fOutputArray
PndMapSorterTask::ClassDef ( PndMapSorterTask  ,
 
)
protected
void PndMapSorterTask::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 60 of file PndMapSorterTask.cxx.

References PndMapSorter::AddElement(), AddNewDataToTClonesArray(), PndMapSorter::DeleteOutputData(), Double_t, fEntryNr, fInputArray, fInputBranch, fSorter, fVerbose, PndMapSorter::GetOutputData(), i, PndMapSorter::print(), and PndMapSorter::WriteOutData().

61 {
62 
63  // fInputArray = FairRootManager::Instance()->GetTClonesArray(fInputBranch);
64  if (fVerbose > 1 && fEntryNr % 10 == 0 ) {
65  std::cout << "-I- PndMapSorterTask: " << fEntryNr << " Size PixelArray: " << fInputArray->GetEntriesFast() << std::endl;
66  }
67  Double_t timeOfLast = 0;
68  for (int i = 0; i < fInputArray->GetEntriesFast(); i++) {
69  FairTimeStamp* myData = (FairTimeStamp*)fInputArray->At(i);
70  myData->SetEntryNr(FairLink(0, fEntryNr, fInputBranch, i));
71  if (fVerbose > 2) {
72  std::cout << "Sorter filled with: ";
73  myData->Print();
74  std::cout<< std::endl;
75  }
76  fSorter->AddElement(myData, myData->GetTimeStamp());
77  timeOfLast = myData->GetTimeStamp();
78  }
79  if (fVerbose > 2) { fSorter->print(); }
80 
81  fSorter->WriteOutData(timeOfLast);
82  std::vector<FairTimeStamp*> sortedData = fSorter->GetOutputData();
83 
84 
85  // fOutputArray = FairRootManager::Instance()->GetEmptyTClonesArray(fOutputBranch);
86  // std::cout << "SortedData size: " << sortedData.size() << std::endl;
87  for (int i = 0; i < sortedData.size(); i++) {
88  AddNewDataToTClonesArray(sortedData[i]);
89  }
91  fEntryNr++;
92 }
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
TClonesArray * fInputArray
PndMapSorter * fSorter
virtual void AddElement(FairTimeStamp *digi, double timestamp)
Double_t
virtual void print(std::ostream &out=std::cout)
virtual std::vector< FairTimeStamp * > GetOutputData()
virtual void AddNewDataToTClonesArray(FairTimeStamp *data)
void PndMapSorterTask::FinishEvent ( )
virtual

Definition at line 105 of file PndMapSorterTask.cxx.

References fOutputArray.

106 {
107  fOutputArray->Delete();
108 }
TClonesArray * fOutputArray
void PndMapSorterTask::FinishTask ( )
virtual

Definition at line 110 of file PndMapSorterTask.cxx.

References PndMapSorter::AddElement(), AddNewDataToTClonesArray(), PndMapSorter::DeleteOutputData(), fInputArray, fSorter, fVerbose, PndMapSorter::GetOutputData(), i, PndMapSorter::print(), and PndMapSorter::WriteOutAll().

111 {
112  //fInputArray = FairRootManager::Instance()->GetTClonesArray(fInputBranch);
113  if (fVerbose > 2) { std::cout << "-I- PndMapSorterTaskT::FinishTask Size InputArray: " << fInputArray->GetEntriesFast() << std::endl; }
114  for (int i = 0; i < fInputArray->GetEntriesFast(); i++) {
115  FairTimeStamp* myDigi = (FairTimeStamp*) fInputArray->At(i);
116  fSorter->AddElement(myDigi, ((FairTimeStamp*)myDigi)->GetTimeStamp());
117  }
118  fSorter->print();
119  fSorter->WriteOutAll();
120  std::vector<FairTimeStamp*> sortedData = fSorter->GetOutputData();
121 
122  std::cout << "PndMapSorterTask::FinishTask sortedData.size(): " << sortedData.size() << std::endl;
123 
124  for (int i = 0; i < sortedData.size(); i++) {
125  if (fVerbose > 2) {
126  std::cout << i << " FinishTask : ";
127  sortedData[i]->Print();
128  std::cout << std::endl;
129  }
130 
131  AddNewDataToTClonesArray(sortedData[i]);
132  }
134  if (fVerbose > 2) {
135  fSorter->print();
136  }
137  FairRootManager::Instance()->SetLastFill();
138 }
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
TClonesArray * fInputArray
PndMapSorter * fSorter
virtual void AddElement(FairTimeStamp *digi, double timestamp)
virtual void print(std::ostream &out=std::cout)
virtual std::vector< FairTimeStamp * > GetOutputData()
virtual void AddNewDataToTClonesArray(FairTimeStamp *data)
Bool_t PndMapSorterTask::GetPersistance ( )
inline

Definition at line 97 of file PndMapSorterTask.h.

References fPersistance.

97 {return fPersistance;};
InitStatus PndMapSorterTask::Init ( )
virtual

Virtual method Init

Definition at line 31 of file PndMapSorterTask.cxx.

References fFolder, fInputArray, fInputBranch, fOutputArray, fOutputBranch, fPersistance, fSorter, fTimeOffset, fVerbose, and SetVerbose().

32 {
33 
34  FairRootManager* ioman = FairRootManager::Instance();
35  if ( ! ioman ) {
36  std::cout << "-E- PndMapSorterTaskT::Init: "
37  << "RootManager not instantiated!" << std::endl;
38  return kFATAL;
39  }
40 
41  // Create and register output array
42  fInputArray = (TClonesArray*)FairRootManager::Instance()->GetObject(fInputBranch);
43  if (fInputArray == 0){
44  std::cout << "InputBranch " << fInputBranch << " not available!" << std::endl;
45  }
46 
47  if(fVerbose>1) { Info("Init","Registering this branch: %s/%s",fFolder.Data(),fOutputBranch.Data()); }
48  fOutputArray = ioman->Register(fOutputBranch, fInputArray->GetClass()->GetName(), fFolder, fPersistance);
49 
51 
52  SetVerbose(2);
53 
54 
55  return kSUCCESS;
56 }
int fVerbose
Definition: poormantracks.C:24
TClonesArray * fInputArray
PndMapSorter * fSorter
drchit SetVerbose(iVerbose)
TClonesArray * fOutputArray
PndMapSorterTask& PndMapSorterTask::operator= ( const PndMapSorterTask )
protected
InitStatus PndMapSorterTask::ReInit ( )
virtual

Definition at line 25 of file PndMapSorterTask.cxx.

26 {
27  return kSUCCESS;
28 }
virtual void PndMapSorterTask::SetParContainers ( )
inlinevirtual

Definition at line 94 of file PndMapSorterTask.h.

94 {};
void PndMapSorterTask::SetPersistance ( Bool_t  p = kTRUE)
inline

Definition at line 96 of file PndMapSorterTask.h.

References fPersistance, and p.

96 {fPersistance=p;};
Double_t p
Definition: anasim.C:58
void PndMapSorterTask::SetTimeOffset ( Double_t  val)
inline

Definition at line 99 of file PndMapSorterTask.h.

References fTimeOffset, and val.

Referenced by readInTopix4TBData().

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

Member Data Documentation

Bool_t PndMapSorterTask::fDigiPixelMCInfo
protected

switch to turn on/off storing additional MC Info of Digis

Definition at line 110 of file PndMapSorterTask.h.

Int_t PndMapSorterTask::fEntryNr
protected

Definition at line 118 of file PndMapSorterTask.h.

Referenced by Exec().

TString PndMapSorterTask::fFolder
protected

Definition at line 116 of file PndMapSorterTask.h.

Referenced by Init().

TClonesArray* PndMapSorterTask::fInputArray
protected

Definition at line 113 of file PndMapSorterTask.h.

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

TString PndMapSorterTask::fInputBranch
protected

Input array of PndSdsPixelDigis

Definition at line 112 of file PndMapSorterTask.h.

Referenced by Exec(), and Init().

TClonesArray* PndMapSorterTask::fOutputArray
protected

Definition at line 117 of file PndMapSorterTask.h.

Referenced by AddNewDataToTClonesArray(), FinishEvent(), and Init().

TString PndMapSorterTask::fOutputBranch
protected

Output array of sorted PndSdsDigis

Definition at line 115 of file PndMapSorterTask.h.

Referenced by Init().

Bool_t PndMapSorterTask::fPersistance
protected

switch to turn on/off storing the arrays to a file

Definition at line 108 of file PndMapSorterTask.h.

Referenced by GetPersistance(), Init(), and SetPersistance().

PndMapSorter* PndMapSorterTask::fSorter
protected

Definition at line 106 of file PndMapSorterTask.h.

Referenced by Exec(), FinishTask(), Init(), and ~PndMapSorterTask().

Double_t PndMapSorterTask::fTimeOffset
protected

Definition at line 119 of file PndMapSorterTask.h.

Referenced by Init(), and SetTimeOffset().


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