REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestDetectorLightAttenuationProcess.h
1 //
2 // Created by lobis on 25-Aug-23.
3 //
4 
5 #ifndef REST_TRESTDETECTORLIGHTATTENUATIONPROCESS_H
6 #define REST_TRESTDETECTORLIGHTATTENUATIONPROCESS_H
7 
8 #include <TRandom3.h>
9 #include <TRestEventProcess.h>
10 
11 #include "TRestDetectorHitsEvent.h"
12 #include "TRestDetectorReadout.h"
13 
16  private:
17  TRestDetectorHitsEvent* fInputEvent;
18  TRestDetectorHitsEvent* fOutputEvent;
19 
20  TRestDetectorReadout* fReadout;
21 
24  Double_t fVetoLightAttenuationLength = 0.0; // mm
28 
29  void Initialize() override {}
30  void LoadDefaultConfig() {}
31 
32  public:
33  RESTValue GetInputEvent() const override { return fInputEvent; }
34  RESTValue GetOutputEvent() const override { return fOutputEvent; }
35 
36  void InitProcess() override;
37  void EndProcess() override {}
38 
39  TRestEvent* ProcessEvent(TRestEvent* inputEvent) override;
40 
41  void PrintMetadata() override;
42 
44  explicit TRestDetectorLightAttenuationProcess(const char* configFilename){};
45 
46  const char* GetProcessName() const override { return "lightAttenuation"; }
47 
48  ~TRestDetectorLightAttenuationProcess() override = default;
49 
50  ClassDefOverride(TRestDetectorLightAttenuationProcess, 1);
51 };
52 
53 #endif // REST_TRESTDETECTORLIGHTATTENUATIONPROCESS_H
A process to include detector energy resolution in a TRestDetectorHitsEvent.
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
void InitProcess() override
To be executed at the beginning of the run (outside event loop)
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
void EndProcess() override
To be executed at the end of the run (outside event loop)
void Initialize() override
Making default settings.
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
Process one event.
A metadata class to generate/store a readout description.
A base class for any REST event process.
A base class for any REST event.
Definition: TRestEvent.h:38
constexpr double lightSpeed
Speed of light in m/s.
Definition: TRestPhysics.h:41