CbmRoot
Loading...
Searching...
No Matches
CbmDefs.h File Reference
#include <iosfwd>
#include <string>
#include <type_traits>
#include <xpu/defines.h>
Include dependency graph for CbmDefs.h:

Go to the source code of this file.

Namespaces

namespace  cbm
 
namespace  cbm::algo
 
namespace  cbm::algo::ca
 TODO: SZh 8.11.2022: add selection of parameterisation.
 

Enumerations

enum class  ECbmModuleId {
  kRef = 0 , kMvd = 1 , kSts = 2 , kRich = 3 ,
  kMuch = 4 , kTrd = 5 , kTof = 6 , kEcal = 7 ,
  kPsd = 8 , kHodo = 9 , kDummyDet = 10 , kBmon = 11 ,
  kTrd2d = 12 , kFsd = 13 , kNofSystems = 14 , kMagnet = 17 ,
  kTarget = 18 , kPipe = 19 , kShield = 20 , kPlatform = 21 ,
  kCave = 22 , kLastModule = 23 , kNotExist = -1
}
 
enum class  ECbmDataType {
  kUnknown = -1 , kMCTrack = 0 , kMvdPoint = ToIntegralType(ECbmModuleId::kMvd) * 100 , kMvdDigi ,
  kMvdCluster , kMvdHit , kStsPoint = ToIntegralType(ECbmModuleId::kSts) * 100 , kStsDigi ,
  kStsCluster , kStsHit , kStsTrack , kRichPoint = ToIntegralType(ECbmModuleId::kRich) * 100 ,
  kRichDigi , kRichHit , kRichRing , kRichTrackParamZ ,
  kRichTrackProjection , kMuchPoint = ToIntegralType(ECbmModuleId::kMuch) * 100 , kMuchDigi , kMuchCluster ,
  kMuchPixelHit , kMuchStrawHit , kMuchTrack , kTrdPoint = ToIntegralType(ECbmModuleId::kTrd) * 100 ,
  kTrdDigi , kTrdCluster , kTrdHit , kTrdTrack ,
  kTofPoint = ToIntegralType(ECbmModuleId::kTof) * 100 , kTofDigi , kTofCalDigi , kTofHit ,
  kTofTrack , kTofUHit , kTofTracklet , kPsdPoint = ToIntegralType(ECbmModuleId::kPsd) * 100 ,
  kPsdDigi , kPsdHit , kBmonPoint = ToIntegralType(ECbmModuleId::kBmon) * 100 , kBmonDigi ,
  kBmonCalDigi , kBmonHit , kFsdPoint = ToIntegralType(ECbmModuleId::kFsd) * 100 , kFsdDigi ,
  kFsdHit , kGlobalTrack = 2000
}
 
enum class  ECbmTreeAccess { kRegular , kRepeat , kRandom }
 Mode to read entries from a ROOT TTree. More...
 
enum class  ECbmRecoMode { Timeslice , EventByEvent , Undefined }
 Reconstruct the full time slice or event-by-event. More...
 
enum class  cbm::algo::ca::EDetectorID {
  cbm::algo::ca::kMvd = 0 , cbm::algo::ca::kSts , cbm::algo::ca::kMuch , cbm::algo::ca::kTrd ,
  cbm::algo::ca::kTof , cbm::algo::ca::END
}
 Enumeration for the tracking detector subsystems in CBM-CA. More...
 

Functions

template<typename T >
XPU_D constexpr auto ToIntegralType (T enumerator) -> typename std::underlying_type< T >::type
 
ECbmModuleIdoperator++ (ECbmModuleId &)
 
std::ostream & operator<< (std::ostream &, const ECbmModuleId &)
 
std::string ToString (ECbmModuleId modId)
 
ECbmModuleId ToCbmModuleId (std::string modIdStr)
 
ECbmModuleId ToCbmModuleIdCaseInsensitive (std::string modIdStr)
 
std::ostream & operator<< (std::ostream &, const ECbmDataType &)
 
ECbmModuleId cbm::algo::ca::ToCbmModuleId (EDetectorID detID)
 Conversion map from EDetectorID to ECbmModuleId.
 
EDetectorID cbm::algo::ca::ToCaDetectorID (ECbmModuleId modId)
 Conversion map from EDetectorID to ECbmModuleId.
 
double CbmProtonMass ()
 
double CbmNeutronMass ()
 
double CbmElectronMass ()
 

Detailed Description

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Date
30.05.2017

Header for definition of CBM enumerators and constants

Definition in file CbmDefs.h.

Enumeration Type Documentation

◆ ECbmDataType

enum class ECbmDataType
strong

Enumerator for CBM data types

Enumerator
kUnknown 
kMCTrack 
kMvdPoint 
kMvdDigi 
kMvdCluster 
kMvdHit 
kStsPoint 
kStsDigi 
kStsCluster 
kStsHit 
kStsTrack 
kRichPoint 
kRichDigi 
kRichHit 
kRichRing 
kRichTrackParamZ 
kRichTrackProjection 
kMuchPoint 
kMuchDigi 
kMuchCluster 
kMuchPixelHit 
kMuchStrawHit 
kMuchTrack 
kTrdPoint 
kTrdDigi 
kTrdCluster 
kTrdHit 
kTrdTrack 
kTofPoint 
kTofDigi 
kTofCalDigi 
kTofHit 
kTofTrack 
kTofUHit 
kTofTracklet 
kPsdPoint 
kPsdDigi 
kPsdHit 
kBmonPoint 
kBmonDigi 
kBmonCalDigi 
kBmonHit 
kFsdPoint 
kFsdDigi 
kFsdHit 
kGlobalTrack 

Definition at line 89 of file CbmDefs.h.

◆ ECbmModuleId

enum class ECbmModuleId
strong

Enumerator for module Identifiers. Modules can be active (detector systems) or passive (magnet, beam pipe, target etc.) In order to loop over all detectors, loop until kNofSystems.

Enumerator
kRef 

Reference plane.

kMvd 

Micro-Vertex Detector.

kSts 

Silicon Tracking System.

kRich 

Ring-Imaging Cherenkov Detector.

kMuch 

Muon detection system.

kTrd 

Transition Radiation Detector.

kTof 

Time-of-flight Detector.

kEcal 

EM-Calorimeter.

kPsd 

Projectile spectator detector.

kHodo 

Hodoscope (for test beam times)

kDummyDet 

Dummy for tutorials or tests.

kBmon 
kTrd2d 

TRD-FASP Detector (FIXME)

kFsd 

Forward spectator detector.

kNofSystems 

For loops over active systems.

kMagnet 

Magnet.

kTarget 

Target.

kPipe 

Beam pipe.

kShield 

Beam pipe shielding in MUCH section.

kPlatform 

RICH rail platform.

kCave 

Cave.

kLastModule 

For loops over all modules.

kNotExist 

If not found.

Definition at line 38 of file CbmDefs.h.

◆ ECbmRecoMode

enum class ECbmRecoMode
strong

Reconstruct the full time slice or event-by-event.

Enumerator
Timeslice 
EventByEvent 
Undefined 

Definition at line 161 of file CbmDefs.h.

◆ ECbmTreeAccess

enum class ECbmTreeAccess
strong

Mode to read entries from a ROOT TTree.

@enumerator ETreeAccess

kRegular: Incremental; start with first entry; stop with last entry kRepeat: Incremental; start with first entry; after last entry jump to first entry kRandom: Random choice of entries between first and last one.

Enumerator
kRegular 
kRepeat 
kRandom 

Definition at line 151 of file CbmDefs.h.

Function Documentation

◆ CbmElectronMass()

double CbmElectronMass ( )
inline

Definition at line 199 of file CbmDefs.h.

Referenced by TEST().

◆ CbmNeutronMass()

double CbmNeutronMass ( )
inline

Definition at line 198 of file CbmDefs.h.

Referenced by TEST().

◆ CbmProtonMass()

double CbmProtonMass ( )
inline

Global functions for particle masses

Definition at line 197 of file CbmDefs.h.

Referenced by CbmMCTrack::GetMass(), and TEST().

◆ operator++()

ECbmModuleId & operator++ ( ECbmModuleId & e)

Definition at line 24 of file CbmDefs.cxx.

References kLastModule, kMagnet, and kNofSystems.

◆ operator<<() [1/2]

std::ostream & operator<< ( std::ostream & strm,
const ECbmDataType & dataType )

Definition at line 100 of file CbmDefs.cxx.

References ToIntegralType().

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream & strm,
const ECbmModuleId & modId )

Definition at line 38 of file CbmDefs.cxx.

References ToIntegralType().

◆ ToCbmModuleId()

ECbmModuleId ToCbmModuleId ( std::string modIdStr)

Definition at line 78 of file CbmDefs.cxx.

References kNotExist, and ModIdStrMap.

◆ ToCbmModuleIdCaseInsensitive()

◆ ToIntegralType()

◆ ToString()