REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestDetectorHitsRotateAndTranslateProcess.h
1
15
16#ifndef RestCore_TRestDetectorHitsRotateAndTranslateProcess
17#define RestCore_TRestDetectorHitsRotateAndTranslateProcess
18
19#include <TRestEventProcess.h>
20
21#include "TRestDetectorGas.h"
22#include "TRestDetectorHitsEvent.h"
23
25 private:
26 TRestDetectorHitsEvent* fInputHitsEvent;
27 TRestDetectorHitsEvent* fOutputHitsEvent;
28
29 Double_t fDeltaX;
30 Double_t fDeltaY;
31 Double_t fDeltaZ;
32
33 Double_t fAlpha;
34 Double_t fBeta;
35 Double_t fGamma;
36
37 void InitFromConfigFile() override;
38 void Initialize() override;
39 void LoadDefaultConfig();
40
41 protected:
42 // add here the members of your event process
43
44 public:
45 any GetInputEvent() const override { return fInputHitsEvent; }
46 any GetOutputEvent() const override { return fOutputHitsEvent; }
47
48 void InitProcess() override;
49 TRestEvent* ProcessEvent(TRestEvent* inputEvent) override;
50 void EndProcess() override;
51
52 void LoadConfig(std::string configFilename);
53
54 void PrintMetadata() override {
56
57 RESTMetadata << " delta x : " << fDeltaX << RESTendl;
58 RESTMetadata << " delta y : " << fDeltaY << RESTendl;
59 RESTMetadata << " delta z : " << fDeltaZ << RESTendl;
60 RESTMetadata << " alpha : " << fAlpha << RESTendl;
61 RESTMetadata << " beta : " << fBeta << RESTendl;
62 RESTMetadata << " gamma : " << fGamma << RESTendl;
63
64 EndPrintProcess();
65 }
66
67 const char* GetProcessName() const override { return "rotateAndTraslate"; }
68
69 inline Double_t GetDeltaX() const { return fDeltaX; }
70 inline Double_t GetDeltaY() const { return fDeltaY; }
71 inline Double_t GetDeltaZ() const { return fDeltaZ; }
72
73 inline Double_t GetAlpha() const { return fAlpha; }
74 inline Double_t GetBeta() const { return fBeta; }
75 inline Double_t GetGamma() const { return fGamma; }
76
77 // Constructor
79 TRestDetectorHitsRotateAndTranslateProcess(const char* configFilename);
80 // Destructor
82
84 1); // Template for a REST "event process" class inherited from
85 // TRestEventProcess
86};
87#endif
void InitProcess() override
To be executed at the beginning of the run (outside event loop)
void EndProcess() override
To be executed at the end of the run (outside event loop)
any GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
any GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
Process one event.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
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.