8 static std::vector<unsigned short>
bitsetToVector(std::bitset<FillInfo::bunchSlots + 1>
const&
bs) {
9 std::vector<unsigned short> vec;
11 vec.reserve(
bs.count());
12 for (
size_t i = 0;
i <
bs.size(); ++
i) {
14 vec.push_back((
unsigned short)
i);
69 return s_particleType;
77 m_collidingBunches(0),
90 m_injectionScheme(
"None") {}
97 m_collidingBunches(0),
110 m_injectionScheme(
"None") {}
185 throw std::out_of_range(
"0 not allowed");
191 throw std::out_of_range(
"0 not allowed");
239 unsigned short const& bunches2,
240 unsigned short const& collidingBunches,
241 unsigned short const& targetBunches,
247 float const& intensity1,
248 float const& intensity2,
254 std::bitset<bunchSlots + 1>
const& bunchConf1,
255 std::bitset<bunchSlots + 1>
const& bunchConf2) {
278 <<
"Bunches in Beam 1: " <<
m_bunches1 << std::endl
279 <<
"Bunches in Beam 2: " <<
m_bunches2 << std::endl
286 <<
"Beta star (cm): " <<
m_betastar << std::endl
287 <<
"Average Intensity for Beam 1 (number of charges): " <<
m_intensity1 << std::endl
288 <<
"Average Intensity for Beam 2 (number of charges): " <<
m_intensity2 << std::endl
289 <<
"Energy (GeV): " <<
m_energy << std::endl
292 <<
"Begin time of Stable Beam flag: " 299 ss <<
"Bunches filled for Beam 1 (total " << bunchVector1.size() <<
"): ";
300 std::copy(bunchVector1.begin(), bunchVector1.end(), std::ostream_iterator<unsigned short>(
ss,
", "));
302 ss <<
"Bunches filled for Beam 2 (total " << bunchVector2.size() <<
"): ";
303 std::copy(bunchVector2.begin(), bunchVector2.end(), std::ostream_iterator<unsigned short>(
ss,
", "));
322 std::stringstream
ss;
float const intensityForBeam2() const
ParticleTypeId m_particles1
float const crossingAngle() const
void setBetaStar(float const &betaStar)
void setCrossingAngle(float const &angle)
std::bitset< bunchSlots+1 > m_bunchConfiguration2
std::vector< unsigned short > bunchConfigurationForBeam2() const
unsigned short m_bunches1
unsigned short const fillNumber() const
unsigned short m_bunches2
void setBeamInfo(unsigned short const &bunches1, unsigned short const &bunches2, unsigned short const &collidingBunches, unsigned short const &targetBunches, FillTypeId const &fillType, ParticleTypeId const &particleType1, ParticleTypeId const &particleType2, float const &angle, float const &beta, float const &intensity1, float const &intensity2, float const &energy, cond::Time_t const &createTime, cond::Time_t const &beginTime, cond::Time_t const &endTime, std::string const &scheme, std::bitset< bunchSlots+1 > const &bunchConf1, std::bitset< bunchSlots+1 > const &bunchConf2)
bool isBunchInBeam1(size_t const &bunch) const
void setCollidingBunches(unsigned short const &collidingBunches)
float const energy() const
void setBunchBitsetForBeam2(std::bitset< bunchSlots+1 > const &bunchConfiguration)
void setIntensityForBeam2(float const &intensity)
void setBunchBitsetForBeam1(std::bitset< bunchSlots+1 > const &bunchConfiguration)
unsigned short const bunchesInBeam2() const
void setFillType(FillTypeId const &fillType)
void setIntensityForBeam1(float const &intensity)
std::string m_injectionScheme
void setBunchesInBeam1(unsigned short const &bunches)
ParticleTypeId const particleTypeForBeam2() const
bool equal(const T &first, const T &second)
cond::Time_t const beginTime() const
std::bitset< bunchSlots+1 > m_bunchConfiguration1
cond::Time_t const endTime() const
unsigned short const collidingBunches() const
unsigned long long Time_t
static std::vector< unsigned short > bitsetToVector(std::bitset< FillInfo::bunchSlots+1 > const &bs)
std::bitset< bunchSlots+1 > const & bunchBitsetForBeam1() const
void setParticleTypeForBeam2(ParticleTypeId const &particleType)
void setEndTime(cond::Time_t const &endTime)
unsigned short m_targetBunches
bool isBunchInBeam2(size_t const &bunch) const
void setTargetBunches(unsigned short const &targetBunches)
std::vector< unsigned short > bunchConfigurationForBeam1() const
bool is25nsBunchSpacing() const
void print(std::stringstream &ss) const
void setFill(unsigned short const &lhcFill, bool const &fromData=true)
FillTypeId const fillType() const
unsigned short m_collidingBunches
void setParticleTypeForBeam1(ParticleTypeId const &particleType)
float const intensityForBeam1() const
std::bitset< bunchSlots+1 > const & bunchBitsetForBeam2() const
cond::Time_t m_createTime
cond::Time_t const createTime() const
static std::string fillTypeToString(FillInfo::FillTypeId const &fillType)
unsigned short const bunchesInBeam1() const
static std::string particleTypeToString(FillInfo::ParticleTypeId const &particleType)
void setBeginTime(cond::Time_t const &beginTime)
std::string const & injectionScheme() const
std::ostream & operator<<(std::ostream &os, FillInfo fillInfo)
ParticleTypeId const particleTypeForBeam1() const
void setBunchesInBeam2(unsigned short const &bunches)
ParticleTypeId m_particles2
void setEnergy(float const &energy)
float const betaStar() const
unsigned short const targetBunches() const
bool const isData() const
boost::posix_time::ptime to_boost(Time_t iValue)
void setCreationTime(cond::Time_t const &createTime)
void setInjectionScheme(std::string const &injectionScheme)
T angle(T x1, T y1, T z1, T x2, T y2, T z2)