16#ifndef ALICEO2_DATA_GRPOBJECT_H_
17#define ALICEO2_DATA_GRPOBJECT_H_
112 mDetsReadout &=
~id.getMask();
140 bool isMC()
const {
return mIsMC; }
152 uint32_t mFirstOrbit = 0;
153 uint32_t mNHBFPerTF = 256;
159 o2::units::AngleRad_t mCrossingAngle = 0.f;
160 o2::units::Current_t mL3Current = 0.f;
161 o2::units::Current_t mDipoleCurrent = 0.f;
162 bool mUniformField =
false;
163 float mBeamEnergyPerZ = 0.f;
165 int8_t mNominalL3Field = 0;
166 bool mNominalL3FieldValid =
false;
168 int mBeamAZ[beamDirection::NBeamDirections] = {0, 0};
172 std::string mDataPeriod =
"";
173 std::string mLHCState =
"";
183 return a ?
getBeamZ(
b) /
static_cast<float>(
a) : 0.f;
191 if (mNominalL3FieldValid ==
false) {
192 mNominalL3Field = std::lround(5.f * mL3Current / 30000.f);
193 mNominalL3FieldValid =
true;
195 return mNominalL3Field;
Header to collect LHC related constants.
Header to collect definitions for different units.
Static class with identifiers, bitmasks and names for ALICE detectors.
static mask_t getMask(const std::string_view detList)
detector masks from any non-alpha-num delimiter-separated list (empty if NONE is supplied)
const std::string & getDataPeriod() const
getter/setter for data taking period name
int getBeamZ(beamDirection beam) const
getters/setters for given beam A and Z info, encoded as A<<16+Z
DetID::mask_t getDetsReadOut() const
getter/setter for masks of detectors in the readout
void setLHCState(const std::string v)
void addDetContinuousReadOut(DetID id)
add specific detector to the list of continuously readout detectors
DetID::mask_t getDetsContinuousReadOut() const
getter/setter for masks of detectors with continuos readout
const std::string & getLHCState() const
getter/setter for LHC state in the beggining of run
void setTimeStart(timePoint t)
o2::units::AngleRad_t getCrossingAngle() const
getters/setters for beams crossing angle (deviation from 0)
void print() const
print itself
timePoint getTimeStart() const
getters/setters for Start and Stop times according to logbook
void setBeamAZ(int a, int z, beamDirection beam)
int getBeamA(beamDirection beam) const
float getBeamZ2A(beamDirection beam) const
uint32_t getFirstOrbit() const
o2::units::Current_t getDipoleCurrent() const
void setNHBFPerTF(uint32_t n)
void setBeamEnergyPerZ(float v)
getters/setters for beam energy per charge and per nucleon
void setDetsReadOut(DetID::mask_t mask)
bool isDetReadOut(DetID id) const
test if detector is read out
void setFirstOrbit(uint32_t o)
bool isDetTriggers(DetID id) const
test if detector is triggering
void setTimeEnd(timePoint t)
int8_t getNominalL3Field()
float getBeamEnergyPerNucleon(beamDirection beam) const
void addDetTrigger(DetID id)
add specific detector to the list of triggering detectors
float getBeamEnergyPerZ() const
void setDataPeriod(const std::string v)
void setDetsContinuousReadOut(DetID::mask_t mask)
DetID::mask_t getDetsTrigger() const
getter/setter for masks of detectors providing the trigger
bool isDetContinuousReadOut(DetID id) const
test if detector is read out
void addDetReadOut(DetID id)
add specific detector to the list of readout detectors
void setDetROMode(DetID id, ROMode status)
set detector readout mode status
void remDetReadOut(DetID id)
remove specific detector from the list of readout detectors
DetID::mask_t getDetsReadOut(const std::string &only, const std::string &skip="") const
same with comma-separate list of detector names
void setCrossingAngle(o2::units::AngleRad_t v)
void setDipoleCurrent(o2::units::Current_t v)
timePoint getTimeEnd() const
void setIsMC(bool v=true)
bool getFieldUniformity() const
void remDetTrigger(DetID id)
remove specific detector from the list of triggering detectors
void setL3Current(o2::units::Current_t v)
static GRPObject * loadFrom(const std::string &grpFileName="")
void setFieldUniformity(bool v)
DetID::mask_t getDetsReadOut(DetID::mask_t only, DetID::mask_t skip=0) const
void remDetContinuousReadOut(DetID id)
remove specific detector from the list of continuouslt readout detectors
uint32_t getNHBFPerTF() const
ROMode getDetROMode(DetID id) const
float getSqrtS() const
calculate center of mass energy per nucleon collision
o2::units::Current_t getL3Current() const
getters/setters for magnets currents
void setDetsTrigger(DetID::mask_t mask)
void setFill(int f)
getter/setter for fill identifier
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...