BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnEnums.h File Reference

Define enumerations used in tracking. More...

#include <cstddef>
#include <type_traits>
Include dependency graph for BmnEnums.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MAKE_ENUM_BITMASK(EnumType)

Enumerations

enum  BmnHitType { kBMNSTRIPHIT = 0 , kBMNPIXELHIT = 1 , kBMNMIXHIT = 2 }
 Define type of hit on detector station. More...
enum  BmnStatus {
  kBMNSUCCESS = 0 , kBMNERROR = 1 , kBMNTIMEOUT = 2 , kBMNFINISH = 3 ,
  kBMNCONTINUE = 4
}
 Define status code. More...
enum  BmnTrackQa { kBMNGOOD = 0 , kBMNBAD = 1 , kBMNGOODMERGE = 2 }
 Define reconstructed track quality. More...
enum  BmnSystemId { kBMNGEM = 0 , kBMNTOF = 2 , kBMNSTS = 4 }
 Define system identificator. More...
enum  BmnTofHitQA { kBMNTOFGOOD = 0 , kBMNTOFBAD = 1 }
 Define status of TOF hit merging. More...
enum  BmnTriggerType { kBMNBEAM = 6 , kBMNMINBIAS = 1 }
 Define type of event. More...
enum  BmnEventType {
  kBMNPEDESTAL = 0 , kBMNPAYLOAD = 1 , kBMNEOS = 2 , kBMNSTAT = 3 ,
  kBMNEMPTY = 4
}
 Define type of event. More...
enum  BmnWorkerState { kBMNWAIT = 0 , kBMNWORK = 1 , kBMNRECON = 2 }
 Define worker state. More...
enum  BmnSetup { kBMNSETUP = 0 , kSRCSETUP = 1 }
 Define experimental setup. More...

Functions

template<typename T>
auto HasAnyFlags (const T lhv, const T rhv) -> std::enable_if_t< std::is_enum_v< T >, bool >
template<typename T>
auto HasAllFlags (const T lhv, const T rhv) -> std::enable_if_t< std::is_enum_v< T >, bool >

Detailed Description

Author
Andrey Lebedev andre.nosp@m.y.le.nosp@m.bedev.nosp@m.@gsi.nosp@m..de - Original author. First version of code for CBM experiment.
Sergey Merts Serge.nosp@m.y.Me.nosp@m.rts@g.nosp@m.mail.nosp@m..com - Modification for BMN experiment.
Date
2008-2014

Definition in file BmnEnums.h.

Macro Definition Documentation

◆ MAKE_ENUM_BITMASK

#define MAKE_ENUM_BITMASK ( EnumType)

Definition at line 20 of file BmnEnums.h.

Enumeration Type Documentation

◆ BmnEventType

Enumerator
kBMNPEDESTAL 0 

pedestal event.

kBMNPAYLOAD 1 

spill event.

kBMNEOS 2 

End of spill.

kBMNSTAT 3 

Statistics.

kBMNEMPTY 4 

No event (wrong sync word or metadata payload).

Definition at line 142 of file BmnEnums.h.

◆ BmnHitType

enum BmnHitType
Enumerator
kBMNSTRIPHIT 0 

Strip hit.

kBMNPIXELHIT 1 

Pixel hit.

kBMNMIXHIT 2 

Mixed type of hits, i.e.

both strip and pixel hits.

Definition at line 82 of file BmnEnums.h.

◆ BmnSetup

enum BmnSetup
Enumerator
kBMNSETUP 0 
kSRCSETUP 1 

Definition at line 164 of file BmnEnums.h.

◆ BmnStatus

enum BmnStatus
Enumerator
kBMNSUCCESS 0 

Success.

kBMNERROR 1 

Error.

kBMNTIMEOUT 2 
kBMNFINISH 3 
kBMNCONTINUE 4 

Definition at line 92 of file BmnEnums.h.

◆ BmnSystemId

Enumerator
kBMNGEM 0 

GEM detector.

kBMNTOF 2 

TOF detector.

kBMNSTS 4 

STS detector.

Definition at line 114 of file BmnEnums.h.

◆ BmnTofHitQA

Enumerator
kBMNTOFGOOD 0 

merged TOF hit.

kBMNTOFBAD 1 

not merged TOF hit.

Definition at line 124 of file BmnEnums.h.

◆ BmnTrackQa

enum BmnTrackQa
Enumerator
kBMNGOOD 0 

Good track.

kBMNBAD 1 

Bad track.

kBMNGOODMERGE 2 

Correctly merged track.

Definition at line 104 of file BmnEnums.h.

◆ BmnTriggerType

Enumerator
kBMNBEAM 6 

"beam" BC1 + BC2 + T0 + VC

kBMNMINBIAS 1 

"min.bias" BC1 + BC2 + T0 + VC + FD

Definition at line 133 of file BmnEnums.h.

◆ BmnWorkerState

Enumerator
kBMNWAIT 0 
kBMNWORK 1 
kBMNRECON 2 

Definition at line 154 of file BmnEnums.h.

Function Documentation

◆ HasAllFlags()

template<typename T>
auto HasAllFlags ( const T lhv,
const T rhv ) -> std::enable_if_t< std::is_enum_v< T >, bool >
inline

Definition at line 74 of file BmnEnums.h.

◆ HasAnyFlags()

template<typename T>
auto HasAnyFlags ( const T lhv,
const T rhv ) -> std::enable_if_t< std::is_enum_v< T >, bool >
inline

Definition at line 61 of file BmnEnums.h.