REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestDetectorHitsShuffleProcess.h
1 
12 #ifndef RestCore_TRestDetectorHitsShuffleProcess
13 #define RestCore_TRestDetectorHitsShuffleProcess
14 
15 #include <TRandom3.h>
16 #include <TRestDetectorHitsEvent.h>
17 
18 #include "TRestEventProcess.h"
19 
21  private:
22  TRestDetectorHitsEvent* fHitsEvent;
23  TRandom3* fRandom;
24 
25  void InitFromConfigFile() override;
26 
27  void Initialize() override;
28 
29  protected:
30  Int_t fIterations;
31 
32  public:
33  RESTValue GetInputEvent() const override { return fHitsEvent; }
34  RESTValue GetOutputEvent() const override { return fHitsEvent; }
35 
36  void InitProcess() override;
37  TRestEvent* ProcessEvent(TRestEvent* inputEvent) override;
38  void EndProcess() override;
39  void LoadDefaultConfig();
40 
41  void LoadConfig(const std::string& configFilename, const std::string& name = "");
42 
43  void PrintMetadata() override {
45 
46  RESTMetadata << " Iterations : " << fIterations << RESTendl;
47 
48  EndPrintProcess();
49  }
50 
51  const char* GetProcessName() const override { return "hitsShuffle"; }
52 
53  // Constructor
55  TRestDetectorHitsShuffleProcess(const char* configFilename);
56  // Destructor
58 
59  ClassDefOverride(TRestDetectorHitsShuffleProcess, 1); // Template for a REST "event process" class
60  // inherited from TRestEventProcess
61 };
62 #endif
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
void InitProcess() override
To be executed at the beginning of the run (outside event loop)
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
void EndProcess() override
To be executed at the end of the run (outside event loop)
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
Process one event.
void Initialize() override
Making default settings.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
A base class for any REST event process.
void BeginPrintProcess()
[name, cut range]
A base class for any REST event.
Definition: TRestEvent.h:38
endl_t RESTendl
Termination flag object for TRestStringOutput.