Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
EventRunCut.h
1/*
2 * EventRunCut.h
3 *
4 * Created on: 30 sie 2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_CUTS_EVENTCUTS_DETECTOR_EVENTRUNCUT_H_
10#define HAL_CUTS_EVENTCUTS_DETECTOR_EVENTRUNCUT_H_
11
12#include "EventExpCut.h"
13
14#include <TString.h>
15
16#include <initializer_list>
17#include <vector>
18
23namespace Hal {
24
25 class EventRunCut : public EventExpCut {
26 protected:
27 TString fListFile;
28 TString fLabel;
29 std::vector<int> fRuns;
30 enum class EMode { kGood, kBad };
31 EMode fMode;
32
33 public:
35 void SetRunList(std::initializer_list<int> list);
36 void SetModeGoodRuns() { fMode = EMode::kGood; }
37 void SetModeBadRuns() { fMode = EMode::kBad; }
38 void SetDataLabel(TString label) { fLabel = label; }
39 void SetInputFile(TString name) { fListFile = name; }
40 virtual Bool_t Init(Int_t format_id);
41 virtual Bool_t Pass(Event* event);
42 virtual void Print(Option_t* opt = "") const;
43 virtual Package* Report() const;
44 virtual ~EventRunCut() {};
45 ClassDef(EventRunCut, 1)
46 };
47
48
49} // namespace Hal
50
51#endif /* HAL_CUTS_EVENTCUTS_DETECTOR_EVENTRUNCUT_H_ */
virtual Bool_t Init(Int_t format_id)
virtual Package * Report() const
virtual void Print(Option_t *opt="") const
virtual Bool_t Pass(Event *event)