CbmRoot
Loading...
Searching...
No Matches
CbmEventTriggers.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10#pragma once
11
12#if !defined(NO_ROOT) && !XPU_IS_HIP_CUDA
13#include <Rtypes.h> // for ClassDef
14#endif
15
19 public:
22 enum class ETrigger : uint8_t
23 {
24 Lambda = 0b00000001,
25 Ks = 0b00000010
26 };
27
28 //using Trigger_t = std::underlying_type_t<ETrigger>;
29 using Trigger_t = uint8_t;
30
32 CbmEventTriggers() = default;
33
36
39
41 ~CbmEventTriggers() = default;
42
45
48
51 void Set(ETrigger key) { fTriggers |= static_cast<Trigger_t>(key); }
52
55 void Reset(ETrigger key) { fTriggers &= ~static_cast<Trigger_t>(key); }
56
59 bool Test(ETrigger key) const { return static_cast<bool>(fTriggers & static_cast<Trigger_t>(key)); }
60
63 bool TestAll(Trigger_t mask) const { return mask == (fTriggers & mask); }
64
67 bool TestAny(Trigger_t mask) const { return static_cast<bool>(fTriggers | mask); }
68
70 std::string ToString() const;
71
72 private:
74
75#if !defined(NO_ROOT) && !XPU_IS_HIP_CUDA
77#endif
78};
Class to store different triggers for a given event.
bool TestAny(Trigger_t mask) const
Tests, if ANY of the triggers in the mask are on.
ETrigger
Defines a trigger address.
@ Lambda
Lambda-trigger.
CbmEventTriggers & operator=(const CbmEventTriggers &)=default
Copy assignment operator.
CbmEventTriggers(const CbmEventTriggers &)=default
Copy constructor.
CbmEventTriggers & operator=(CbmEventTriggers &&)=default
Move assignment operator.
std::string ToString() const
String representation of the class content.
~CbmEventTriggers()=default
Destructor.
CbmEventTriggers(CbmEventTriggers &&)=default
Move constructor.
void Reset(ETrigger key)
Resets a trigger.
ClassDefNV(CbmEventTriggers, 1)
CbmEventTriggers()=default
Default constructor.
void Set(ETrigger key)
Sets a trigger.
bool Test(ETrigger key) const
Tests a particular single trigger.
bool TestAll(Trigger_t mask) const
Tests, if ALL the triggers in the mask are on.