CbmRoot
CbmDefs.h File Reference
#include <RtypesCore.h>
#include <iostream>
#include <type_traits>
Include dependency graph for CbmDefs.h:

Go to the source code of this file.

Enumerations

enum  ECbmModuleId {
  ECbmModuleId::kRef = 0, ECbmModuleId::kMvd = 1, ECbmModuleId::kSts = 2, ECbmModuleId::kRich = 3,
  ECbmModuleId::kMuch = 4, ECbmModuleId::kTrd = 5, ECbmModuleId::kTof = 6, ECbmModuleId::kEcal = 7,
  ECbmModuleId::kPsd = 8, ECbmModuleId::kHodo = 9, ECbmModuleId::kDummyDet = 10, ECbmModuleId::kT0 = 11,
  ECbmModuleId::kNofSystems = 12, ECbmModuleId::kMagnet = 17, ECbmModuleId::kTarget = 18, ECbmModuleId::kPipe = 19,
  ECbmModuleId::kShield = 20, ECbmModuleId::kPlatform = 21, ECbmModuleId::kCave = 22, ECbmModuleId::kLastModule = 23,
  ECbmModuleId::kNotExist = -1
}
 
enum  ECbmDataType {
  ECbmDataType::kUnknown = -1, ECbmDataType::kMCTrack = 0, ECbmDataType::kMvdPoint = ToIntegralType(ECbmModuleId::kMvd) * 100, ECbmDataType::kMvdDigi,
  ECbmDataType::kMvdCluster, ECbmDataType::kMvdHit, ECbmDataType::kStsPoint = ToIntegralType(ECbmModuleId::kSts) * 100, ECbmDataType::kStsDigi,
  ECbmDataType::kStsCluster, ECbmDataType::kStsHit, ECbmDataType::kStsTrack, ECbmDataType::kRichPoint = ToIntegralType(ECbmModuleId::kRich) * 100,
  ECbmDataType::kRichDigi, ECbmDataType::kRichHit, ECbmDataType::kRichRing, ECbmDataType::kMuchPoint = ToIntegralType(ECbmModuleId::kMuch) * 100,
  ECbmDataType::kMuchDigi, ECbmDataType::kMuchCluster, ECbmDataType::kMuchPixelHit, ECbmDataType::kMuchStrawHit,
  ECbmDataType::kMuchTrack, ECbmDataType::kTrdPoint = ToIntegralType(ECbmModuleId::kTrd) * 100, ECbmDataType::kTrdDigi, ECbmDataType::kTrdCluster,
  ECbmDataType::kTrdHit, ECbmDataType::kTrdTrack, ECbmDataType::kTofPoint = ToIntegralType(ECbmModuleId::kTof) * 100, ECbmDataType::kTofDigi,
  ECbmDataType::kTofCalDigi, ECbmDataType::kTofHit, ECbmDataType::kTofTrack, ECbmDataType::kPsdPoint = ToIntegralType(ECbmModuleId::kPsd) * 100,
  ECbmDataType::kPsdDigi, ECbmDataType::kPsdHit, ECbmDataType::kT0Point = ToIntegralType(ECbmModuleId::kT0) * 100, ECbmDataType::kT0Digi,
  ECbmDataType::kT0CalDigi, ECbmDataType::kT0Hit, ECbmDataType::kGlobalTrack = 2000
}
 
enum  ECbmTreeAccess { ECbmTreeAccess::kRegular, ECbmTreeAccess::kRepeat, ECbmTreeAccess::kRandom }
 Mode to read entries from a ROOT TTree. More...
 

Functions

template<typename T >
constexpr auto ToIntegralType (T enumerator) -> typename std::underlying_type< T >::type
 
ECbmModuleIdoperator++ (ECbmModuleId &)
 
std::ostream & operator<< (std::ostream &, const ECbmModuleId &)
 
std::ostream & operator<< (std::ostream &, const ECbmDataType &)
 
Double_t CbmProtonMass ()
 
Double_t CbmNeutronMass ()
 
Double_t 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 ECbmDataType
strong

Enumerator for CBM data types

Enumerator
kUnknown 
kMCTrack 
kMvdPoint 
kMvdDigi 
kMvdCluster 
kMvdHit 
kStsPoint 
kStsDigi 
kStsCluster 
kStsHit 
kStsTrack 
kRichPoint 
kRichDigi 
kRichHit 
kRichRing 
kMuchPoint 
kMuchDigi 
kMuchCluster 
kMuchPixelHit 
kMuchStrawHit 
kMuchTrack 
kTrdPoint 
kTrdDigi 
kTrdCluster 
kTrdHit 
kTrdTrack 
kTofPoint 
kTofDigi 
kTofCalDigi 
kTofHit 
kTofTrack 
kPsdPoint 
kPsdDigi 
kPsdHit 
kT0Point 
kT0Digi 
kT0CalDigi 
kT0Hit 
kGlobalTrack 

Definition at line 76 of file CbmDefs.h.

◆ ECbmModuleId

enum 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.

kT0 

ToF start 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 33 of file CbmDefs.h.

◆ ECbmTreeAccess

enum 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 130 of file CbmDefs.h.

Function Documentation

◆ CbmElectronMass()

Double_t CbmElectronMass ( )
inline

Definition at line 136 of file CbmDefs.h.

Referenced by TEST().

◆ CbmNeutronMass()

Double_t CbmNeutronMass ( )
inline

Definition at line 135 of file CbmDefs.h.

Referenced by TEST().

◆ CbmProtonMass()

Double_t CbmProtonMass ( )
inline

Global functions for particle masses

Definition at line 134 of file CbmDefs.h.

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

◆ operator++()

ECbmModuleId& operator++ ( ECbmModuleId )

Definition at line 17 of file CbmDefs.cxx.

References kLastModule, kMagnet, and kT0.

◆ operator<<() [1/2]

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

Definition at line 38 of file CbmDefs.cxx.

References ToIntegralType().

◆ operator<<() [2/2]

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

Definition at line 31 of file CbmDefs.cxx.

References ToIntegralType().

◆ ToIntegralType()