16#ifndef _CTP_CONFIGURATION_H_
17#define _CTP_CONFIGURATION_H_
41 std::bitset<o2::constants::lhc::LHCMaxBunches>
BCmask;
42 int setBCmask(std::vector<std::string>& tokens);
140 static bool isNumber(
const std::string& s);
141 int addInput(std::string& inp,
int clsindex, std::map<
int, std::vector<int>>& descInputsIndex);
174 std::map<o2::detectors::DetID::ID, std::vector<CTPInput>>
getDet2InputMap();
188 std::string mConfigString =
"";
189 uint32_t mRunNumber = 0;
190 std::string mName =
"";
191 std::string mVersion =
"0";
192 std::vector<BCMask> mBCMasks;
193 std::vector<CTPGenerator> mGenerators;
194 std::vector<CTPInput> mInputs;
195 std::vector<CTPDescriptor> mDescriptors;
196 std::vector<CTPDetector> mDetectors;
197 std::vector<CTPCluster> mClusters;
198 std::vector<CTPClass> mCTPClasses;
199 int processConfigurationLineRun3(std::string& line,
int&
level, std::map<
int, std::vector<int>>& descInputsIndex);
200 int processConfigurationLineRun3v2(std::string& line,
int&
level, std::map<
int, std::vector<int>>& descInputsIndex);
204std::ostream&
operator<<(std::ostream& in,
const CTPConfiguration& conf);
Header to collect LHC related constants.
definition of CTPScalerRaw, CTPScalerO2
std::vector< CTPClass > & getCTPClasses()
std::vector< std::string > getDetectorList() const
std::vector< int > getTriggerClassList() const
std::string getConfigString()
static bool isNumber(const std::string &s)
uint64_t getInputMask(const std::string &name) const
std::string getClassNameFromIndex(int index)
uint64_t getTriggerClassMask() const
void createInputsInDecriptorsFromNames()
const std::vector< CTPClass > & getCTPClasses() const
CTPConfiguration()=default
const CTPInput * isInputInConfig(const std::string inpname) const
std::string getClassNameFromHWIndex(int index)
std::vector< CTPInput > & getCTPInputs()
const BCMask * isBCMaskInConfigP(const std::string bcmask) const
bool isBCMaskInConfig(const std::string maskname) const
const std::vector< CTPInput > & getCTPInputs() const
int addInput(std::string &inp, int clsindex, std::map< int, std::vector< int > > &descInputsIndex)
int getInputIndex(const std::string &name) const
o2::detectors::DetID::mask_t getDetectorMask() const
static void capitaliseString(std::string &str)
uint64_t getClassMaskForInputMask(uint64_t inputMask) const
const CTPDescriptor * isDescriptorInConfig(const std::string descname, int &index) const
void printStream(std::ostream &stream) const
CTPDescriptor * getDescriptor(int index)
int loadConfigurationRun3(const std::string &ctpconfiguartion)
const CTPClass * getCTPClassFromHWIndex(const int index) const
int checkConfigConsistency() const
std::map< o2::detectors::DetID::ID, std::vector< CTPInput > > getDet2InputMap()
bool isMaskInInputs(const uint64_t &mask) const
uint64_t getDecrtiptorInputsMask(const std::string &name) const
bool isDetector(const o2::detectors::DetID &det)
void setRunNumber(uint32_t runnumber)
static const std::map< std::string, std::string > detName2LTG
Static class with identifiers, bitmasks and names for ALICE detectors.
static constexpr const char * getName(ID id)
names of defined detectors
static std::string getNames(mask_t mask, char delimiter=',')
static mask_t getMask(const std::string_view detList)
detector masks from any non-alpha-num delimiter-separated list (empty if NONE is supplied)
GLuint const GLchar * name
std::ostream & operator<<(std::ostream &in, const CTPConfiguration &conf)
const std::string CCDBPathCTPConfig
Database constants.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::bitset< o2::constants::lhc::LHCMaxBunches > BCmask
int setBCmask(std::vector< std::string > &tokens)
void printStream(std::ostream &stream) const
Class = Mask+Descriptor+Cluster.
std::vector< BCMask const * > BCClassMask
void printStream(std::ostream &strem) const
CTPCluster const * cluster
CTPDescriptor const * descriptor
o2::detectors::DetID::mask_t maskCluster
std::string getClusterDetNames() const
void printStream(std::ostream &strem) const
Descriptor = Generator or List of [negated] inputs.
std::vector< CTPInput const * > inputs
std::uint64_t getInputsMask() const
void printStream(std::ostream &strem) const
The main part is Local Trigger Generator (LTG)
o2::detectors::DetID::mask_t getMask() const
void printStream(std::ostream &stream) const
const char * getName() const
o2::detectors::DetID::ID detID
CTP internal generator: 4 for L0 and 4 for LM levels.
ClassDefNV(CTPGenerator, 1)
void printStream(std::ostream &stream) const
static const std::set< std::string > Generators