/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:
92  std::vector<Processor *> fProcessorList;
93 
95  std::vector<double> fProcessorTime;
96 
98  std::vector<int> fProcessorExecutionCount;
99 
102 
104  TStopwatch fSourceTimer;
105 
108  double fSourceTime;
109 
112 
115  std::vector<Processor *> fDeferredAppendList;
116 
117  ProducerBlock *prodBlock;
118 };
119 
120 } // namespace RAT
121 
122 #endif
Definition: Root.hh:39
Definition: Run.hh:22
Definition: ProcBlock.hh:33
int fSourceCount
Definition: ProcBlock.hh:111
virtual Processor::Result DSEvent(DS::Root *ds)
Definition: ProcBlock.cc:70
virtual void AddProcessor(Processor *proc)
Definition: ProcBlock.cc:62
virtual void DeferAppend(Processor *proc)
Definition: ProcBlock.cc:68
TStopwatch fSourceTimer
Definition: ProcBlock.hh:104
double fSourceTime
Definition: ProcBlock.hh:108
std::vector< Processor * > fProcessorList
Definition: ProcBlock.hh:92
std::vector< Processor * > fDeferredAppendList
Definition: ProcBlock.hh:115
bool fSeenFirstEvent
Definition: ProcBlock.hh:101
virtual ~ProcBlock()
Definition: ProcBlock.cc:14
std::vector< double > fProcessorTime
Definition: ProcBlock.hh:95
std::vector< int > fProcessorExecutionCount
Definition: ProcBlock.hh:98
virtual void Clear()
Definition: ProcBlock.cc:46
Definition: Processor.hh:36
Result
Definition: Processor.hh:59
Definition: ProducerBlock.hh:12
Definition: CCCrossSecMessenger.hh:29