/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/core/include/RAT/ProcBlock.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/core/include/RAT/ProcBlock.hh Source File
Ratpac-two
ProcBlock.hh
1 
20 #ifndef __RAT_ProcBlock__
21 #define __RAT_ProcBlock__
22 
23 #include <TStopwatch.h>
24 
25 #include <RAT/Processor.hh>
26 #include <RAT/ProducerBlock.hh>
27 #include <vector>
28 
29 namespace RAT {
30 
31 class ProducerBlock;
32 
33 class ProcBlock : public Processor {
34  public:
35  ProcBlock(ProducerBlock *prodBlock);
36 
38  virtual ~ProcBlock();
39 
40  virtual void BeginOfRun(DS::Run *run);
41 
42  virtual void EndOfRun(DS::Run *run);
43 
49  virtual void Clear();
50 
57  virtual void AddProcessor(Processor *proc);
58 
70  virtual void DeferAppend(Processor *proc);
71 
87  virtual Processor::Result DSEvent(DS::Root *ds);
88 
89  protected:
93  void FlushDeferredAppends();
94 
97  std::vector<Processor *> fProcessorList;
98 
100  std::vector<double> fProcessorTime;
101 
103  std::vector<int> fProcessorExecutionCount;
104 
107 
109  TStopwatch fSourceTimer;
110 
113  double fSourceTime;
114 
117 
120  std::vector<Processor *> fDeferredAppendList;
121 
122  ProducerBlock *prodBlock;
123 };
124 
125 } // namespace RAT
126 
127 #endif
Definition: Root.hh:37
Definition: Run.hh:22
Definition: ProcBlock.hh:33
int fSourceCount
Definition: ProcBlock.hh:116
void FlushDeferredAppends()
Definition: ProcBlock.cc:32
virtual Processor::Result DSEvent(DS::Root *ds)
Definition: ProcBlock.cc:78
virtual void AddProcessor(Processor *proc)
Definition: ProcBlock.cc:70
virtual void DeferAppend(Processor *proc)
Definition: ProcBlock.cc:76
TStopwatch fSourceTimer
Definition: ProcBlock.hh:109
double fSourceTime
Definition: ProcBlock.hh:113
std::vector< Processor * > fProcessorList
Definition: ProcBlock.hh:97
std::vector< Processor * > fDeferredAppendList
Definition: ProcBlock.hh:120
bool fSeenFirstEvent
Definition: ProcBlock.hh:106
virtual ~ProcBlock()
Definition: ProcBlock.cc:14
std::vector< double > fProcessorTime
Definition: ProcBlock.hh:100
std::vector< int > fProcessorExecutionCount
Definition: ProcBlock.hh:103
virtual void Clear()
Definition: ProcBlock.cc:54
Definition: Processor.hh:36
Result
Definition: Processor.hh:59
Definition: ProducerBlock.hh:12
Definition: CCCrossSecMessenger.hh:29