CMS 3D CMS Logo

LHCInfo.cc
Go to the documentation of this file.
3 #include <algorithm>
4 #include <iterator>
5 #include <vector>
6 #include <stdexcept>
7 
8 //helper function: returns the positions of the bits in the bitset that are set (i.e., have a value of 1).
9 static std::vector<unsigned short> bitsetToVector( std::bitset<LHCInfo::bunchSlots+1> const & bs ) {
10  std::vector<unsigned short> vec;
11  //reserve space only for the bits in the bitset that are set
12  vec.reserve( bs.count() );
13  for( size_t i = 0; i < bs.size(); ++i ) {
14  if( bs.test( i ) )
15  vec.push_back( (unsigned short) i );
16  }
17  return vec;
18 }
19 
20 //helper function: returns the enum for fill types in string type
21 static std::string fillTypeToString( LHCInfo::FillTypeId const & fillType ) {
22  std::string s_fillType( "UNKNOWN" );
23  switch( fillType ) {
24  case LHCInfo::UNKNOWN :
25  s_fillType = std::string( "UNKNOWN" );
26  break;
27  case LHCInfo::PROTONS :
28  s_fillType = std::string( "PROTONS" );
29  break;
30  case LHCInfo::IONS :
31  s_fillType = std::string( "IONS" );
32  break;
33  case LHCInfo::COSMICS :
34  s_fillType = std::string( "COSMICS" );
35  break;
36  case LHCInfo::GAP :
37  s_fillType = std::string( "GAP" );
38  break;
39  default :
40  s_fillType = std::string( "UNKNOWN" );
41  }
42  return s_fillType;
43 }
44 
45 //helper function: returns the enum for particle types in string type
47  std::string s_particleType( "NONE" );
48  switch( particleType ) {
49  case LHCInfo::NONE :
50  s_particleType = std::string( "NONE" );
51  break;
52  case LHCInfo::PROTON :
53  s_particleType = std::string( "PROTON" );
54  break;
55  case LHCInfo::PB82 :
56  s_particleType = std::string( "PB82" );
57  break;
58  case LHCInfo::AR18 :
59  s_particleType = std::string( "AR18" );
60  break;
61  case LHCInfo::D :
62  s_particleType = std::string( "D" );
63  break;
64  case LHCInfo::XE54 :
65  s_particleType = std::string( "XE54" );
66  break;
67  default :
68  s_particleType = std::string( "NONE" );
69  }
70  return s_particleType;
71 }
72 
73 LHCInfo::LHCInfo(): m_intParams( ISIZE )
74  , m_floatParams( FSIZE )
75  , m_timeParams( TSIZE )
76  , m_stringParams( SSIZE )
77 {
78  setFill(0, false);
79 }
80 
81 LHCInfo::LHCInfo( unsigned short const & lhcFill, bool const & fromData ): m_intParams( ISIZE )
82  , m_floatParams( FSIZE )
83  , m_timeParams( TSIZE )
85 {
86  setFill(lhcFill, fromData);
87 }
88 
90 
91 //reset instance
92 void LHCInfo::setFill( unsigned short const & lhcFill, bool const & fromData ) {
93  m_isData = fromData;
94  m_intParams.resize( ISIZE, std::vector<unsigned int>(1,0) );
95  m_intParams[ LHC_FILL ].push_back( lhcFill );
96  m_floatParams.resize( FSIZE, std::vector<float>(1,0.));
97  m_floatParams[ LUMI_PER_B ] = std::vector<float>(1, 0.);
98  m_floatParams[ BEAM1_VC ] = std::vector<float>(1, 0.);
99  m_floatParams[ BEAM2_VC ] = std::vector<float>(1, 0.);
100  m_floatParams[ BEAM1_RF ] = std::vector<float>(1, 0.);
101  m_floatParams[ BEAM2_RF ] = std::vector<float>(1, 0.);
102  m_timeParams.resize( TSIZE, std::vector<unsigned long long>(1,0ULL) );
103  m_stringParams.resize( SSIZE, std::vector<std::string>(1, "") );
104  m_stringParams[ INJECTION_SCHEME ].push_back( std::string("None") );
105  m_bunchConfiguration1.reset();
106  m_bunchConfiguration2.reset();
107 }
108 
109 namespace LHCInfoImpl {
110  template <typename T> const T& getParams( const std::vector<T>& params, size_t index ){
111  if( index >= params.size() ) throw std::out_of_range("Parameter with index "+std::to_string(index)+" is out of range.");
112  return params[index];
113  }
114 
115  template <typename T> const T& getOneParam( const std::vector< std::vector<T> >& params, size_t index ){
116  if( index >= params.size() ) throw std::out_of_range("Parameter with index "+std::to_string(index)+" is out of range.");
117  const std::vector<T>& inner = params[index];
118  if( inner.empty() ) throw std::out_of_range("Parameter with index "+std::to_string(index)+" has no value stored.");
119  return inner[ 0 ];
120  }
121 
122  template <typename T> void setOneParam( std::vector< std::vector<T> >& params, size_t index, const T& value ){
123  if( index >= params.size() ) throw std::out_of_range("Parameter with index "+std::to_string(index)+" is out of range.");
124  params[ index ] = std::vector<T>(1,value);
125  }
126 
127  template <typename T> void setParams( std::vector<T>& params, size_t index, const T& value ){
128  if( index >= params.size() ) throw std::out_of_range("Parameter with index "+std::to_string(index)+" is out of range.");
129  params[ index ] = value;
130  }
131 
132 }
133 
134 //getters
135 unsigned short const LHCInfo::fillNumber() const {
137 }
138 
139 bool const LHCInfo::isData() const {
140  return m_isData;
141 }
142 
143 unsigned short const LHCInfo::bunchesInBeam1() const {
145 }
146 
147 unsigned short const LHCInfo::bunchesInBeam2() const {
149 }
150 
151 unsigned short const LHCInfo::collidingBunches() const {
153 }
154 
155 unsigned short const LHCInfo::targetBunches() const {
157 }
158 
160  return static_cast<FillTypeId>(LHCInfoImpl::getOneParam( m_intParams, FILL_TYPE ));
161 }
162 
165 }
166 
169 }
170 
171 float const LHCInfo::crossingAngle() const {
173 }
174 
175 float const LHCInfo::betaStar() const {
177 }
178 
179 float const LHCInfo::intensityForBeam1() const {
181 }
182 
183 float const LHCInfo::intensityForBeam2() const {
185 }
186 
187 float const LHCInfo::energy() const {
189 }
190 
191 float const LHCInfo::delivLumi() const {
193 }
194 
195 float const LHCInfo::recLumi() const {
197 }
198 
201 }
202 
205 }
206 
209 }
210 
213 }
214 
215 std::vector<float> const & LHCInfo::lumiPerBX() const {
217 }
218 
221 }
222 
225 }
226 
229 }
230 
231 unsigned int const & LHCInfo::lumiSection() const {
233 }
234 
235 std::vector<float> const & LHCInfo::beam1VC() const {
237 }
238 
239 std::vector<float> const & LHCInfo::beam2VC() const {
241 }
242 
243 std::vector<float> const & LHCInfo::beam1RF() const {
245 }
246 
247 std::vector<float> const & LHCInfo::beam2RF() const {
249 }
250 
251 //returns a boolean, true if the injection scheme has a leading 25ns
252 //TODO: parse the circulating bunch configuration, instead of the string.
254  const std::string prefix( "25ns" );
255  return std::equal( prefix.begin(), prefix.end(), injectionScheme().begin() );
256 }
257 
258 //returns a boolean, true if the bunch slot number is in the circulating bunch configuration
259 bool LHCInfo::isBunchInBeam1( size_t const & bunch ) const {
260  if( bunch == 0 )
261  throw std::out_of_range( "0 not allowed" ); //CMS starts counting bunch crossing from 1!
262  return m_bunchConfiguration1.test( bunch );
263 }
264 
265 bool LHCInfo::isBunchInBeam2( size_t const & bunch ) const {
266  if( bunch == 0 )
267  throw std::out_of_range( "0 not allowed" ); //CMS starts counting bunch crossing from 1!
268  return m_bunchConfiguration2.test( bunch );
269 }
270 
271 //member functions returning *by value* a vector with all filled bunch slots
272 std::vector<unsigned short> LHCInfo::bunchConfigurationForBeam1() const {
274 }
275 
276 std::vector<unsigned short> LHCInfo::bunchConfigurationForBeam2() const {
278 }
279 
280 //setters
281 void LHCInfo::setBunchesInBeam1( unsigned short const & bunches ) {
282  LHCInfoImpl::setOneParam( m_intParams, BUNCHES_1, static_cast<unsigned int>(bunches) );
283 }
284 
285 void LHCInfo::setBunchesInBeam2( unsigned short const & bunches ) {
286  LHCInfoImpl::setOneParam( m_intParams, BUNCHES_2, static_cast<unsigned int>(bunches) );
287 }
288 
289 void LHCInfo::setCollidingBunches( unsigned short const & collidingBunches ) {
290  LHCInfoImpl::setOneParam( m_intParams, COLLIDING_BUNCHES, static_cast<unsigned int>(collidingBunches) );
291 }
292 
293 void LHCInfo::setTargetBunches( unsigned short const & targetBunches ) {
294  LHCInfoImpl::setOneParam( m_intParams, TARGET_BUNCHES, static_cast<unsigned int>(targetBunches) );
295 }
296 
298  LHCInfoImpl::setOneParam( m_intParams, FILL_TYPE, static_cast<unsigned int>(fillType) );
299 }
300 
302  LHCInfoImpl::setOneParam( m_intParams, PARTICLES_1, static_cast<unsigned int>(particleType) );
303 }
304 
306  LHCInfoImpl::setOneParam( m_intParams, PARTICLES_2, static_cast<unsigned int>(particleType) );
307 }
308 
309 void LHCInfo::setCrossingAngle( float const & angle ) {
311 }
312 
313 void LHCInfo::setBetaStar( float const & betaStar ) {
315 }
316 
317 void LHCInfo::setIntensityForBeam1( float const & intensity ) {
319 }
320 
321 void LHCInfo::setIntensityForBeam2( float const & intensity ) {
323 }
324 
325 void LHCInfo::setEnergy( float const & energy ) {
327 }
328 
329 void LHCInfo::setDelivLumi( float const & delivLumi ) {
331 }
332 
333 void LHCInfo::setRecLumi( float const & recLumi ) {
335 }
336 
339 }
340 
343 }
344 
347 }
348 
351 }
352 
353 void LHCInfo::setLumiPerBX( std::vector<float> const & lumiPerBX) {
355 }
356 
359 }
360 
363 }
364 
367 }
368 
369 void LHCInfo::setLumiSection( unsigned int const & lumiSection) {
371 }
372 
373 void LHCInfo::setBeam1VC( std::vector<float> const & beam1VC) {
375 }
376 
377 void LHCInfo::setBeam2VC( std::vector<float> const & beam2VC) {
379 }
380 
381 void LHCInfo::setBeam1RF( std::vector<float> const & beam1RF) {
383 }
384 
385 void LHCInfo::setBeam2RF( std::vector<float> const & beam2RF) {
387 }
388 
389 //sets all values in one go
390 void LHCInfo::setInfo( unsigned short const & bunches1
391  ,unsigned short const & bunches2
392  ,unsigned short const & collidingBunches
393  ,unsigned short const & targetBunches
394  ,FillTypeId const & fillType
395  ,ParticleTypeId const & particleType1
396  ,ParticleTypeId const & particleType2
397  ,float const & angle
398  ,float const & beta
399  ,float const & intensity1
400  ,float const & intensity2
401  ,float const & energy
402  ,float const & delivLumi
403  ,float const & recLumi
404  ,cond::Time_t const & createTime
405  ,cond::Time_t const & beginTime
406  ,cond::Time_t const & endTime
407  ,std::string const & scheme
408  ,std::vector<float> const & lumiPerBX
409  ,std::string const & lhcState
410  ,std::string const & lhcComment
411  ,std::string const & ctppsStatus
412  ,unsigned int const & lumiSection
413  ,std::vector<float> const & beam1VC
414  ,std::vector<float> const & beam2VC
415  ,std::vector<float> const & beam1RF
416  ,std::vector<float> const & beam2RF
417  ,std::bitset<bunchSlots+1> const & bunchConf1
418  ,std::bitset<bunchSlots+1> const & bunchConf2 ) {
419  this->setBunchesInBeam1( bunches1 );
420  this->setBunchesInBeam2( bunches2 );
421  this->setCollidingBunches( collidingBunches );
422  this->setTargetBunches( targetBunches );
423  this->setFillType( fillType );
424  this->setParticleTypeForBeam1( particleType1 );
425  this->setParticleTypeForBeam2( particleType2 );
426  this->setCrossingAngle( angle );
427  this->setBetaStar( beta );
428  this->setIntensityForBeam1( intensity1 );
429  this->setIntensityForBeam2( intensity2 );
430  this->setEnergy( energy );
431  this->setDelivLumi( delivLumi );
432  this->setRecLumi( recLumi );
433  this->setCreationTime( createTime );
434  this->setBeginTime( beginTime );
435  this->setEndTime( endTime );
436  this->setInjectionScheme( scheme );
437  this->setLumiPerBX( lumiPerBX );
438  this->setLhcState( lhcState );
439  this->setLhcComment( lhcComment );
440  this->setCtppsStatus( ctppsStatus );
441  this->setLumiSection( lumiSection );
442  this->setBeam1VC( beam1VC );
443  this->setBeam2VC( beam2VC );
444  this->setBeam1RF( beam1RF );
445  this->setBeam2RF( beam2RF );
446  this->setBunchBitsetForBeam1( bunchConf1 );
447  this->setBunchBitsetForBeam2( bunchConf2 );
448 }
449 
450 void LHCInfo::print( std::stringstream & ss ) const {
451  ss << "LHC fill: " << this->fillNumber() << std::endl
452  << "Bunches in Beam 1: " << this->bunchesInBeam1() << std::endl
453  << "Bunches in Beam 2: " << this->bunchesInBeam2() << std::endl
454  << "Colliding bunches at IP5: " << this->collidingBunches() << std::endl
455  << "Target bunches at IP5: " <<this->targetBunches() << std::endl
456  << "Fill type: " << fillTypeToString( static_cast<FillTypeId> (this->fillType() ) ) << std::endl
457  << "Particle type for Beam 1: " << particleTypeToString( static_cast<ParticleTypeId>( this->particleTypeForBeam1() ) ) << std::endl
458  << "Particle type for Beam 2: " << particleTypeToString( static_cast<ParticleTypeId>( this->particleTypeForBeam2() ) ) << std::endl
459  << "Crossing angle (urad): " << this->crossingAngle() << std::endl
460  << "Beta star (cm): " << this->betaStar() << std::endl
461  << "Average Intensity for Beam 1 (number of charges): " << this->intensityForBeam1() << std::endl
462  << "Average Intensity for Beam 2 (number of charges): " << this->intensityForBeam2() << std::endl
463  << "Energy (GeV): " << this->energy() << std::endl
464  << "Delivered Luminosity (max): " << this->delivLumi() << std::endl
465  << "Recorded Luminosity (max): " << this->recLumi() << std::endl
466  << "Creation time of the fill: " << boost::posix_time::to_iso_extended_string( cond::time::to_boost( this->createTime() ) ) << std::endl
467  << "Begin time of Stable Beam flag: " << boost::posix_time::to_iso_extended_string( cond::time::to_boost( this->beginTime() ) ) << std::endl
468  << "End time of the fill: " << boost::posix_time::to_iso_extended_string( cond::time::to_boost( this->endTime() ) ) << std::endl
469  << "Injection scheme as given by LPC: " << this->injectionScheme() << std::endl
470  << "LHC State: " << this->lhcState() << std::endl
471  << "LHC Comments: " << this->lhcComment() << std::endl
472  << "CTPPS Status: " << this->ctppsStatus() << std::endl
473  << "Lumi sections: " << this->lumiSection() << std::endl;
474 
475  ss << "Luminosity per bunch (total " << this->lumiPerBX().size() << "): ";
476  std::copy( this->lumiPerBX().begin(), this->lumiPerBX().end(), std::ostream_iterator<float>( ss, ", " ) );
477  ss << std::endl;
478 
479  ss << "Beam 1 VC (total " << this->beam1VC().size() << "): ";
480  std::copy( this->beam1VC().begin(), this->beam1VC().end(), std::ostream_iterator<float>( ss, "\t" ) );
481  ss << std::endl;
482 
483  ss << "Beam 2 VC (total " << beam2VC().size() << "): ";
484  std::copy( beam2VC().begin(), beam2VC().end(), std::ostream_iterator<float>( ss, "\t" ) );
485  ss << std::endl;
486 
487  ss << "Beam 1 RF (total " << beam1RF().size() << "): ";
488  std::copy( beam1RF().begin(), beam1RF().end(), std::ostream_iterator<float>( ss, "\t" ) );
489  ss << std::endl;
490 
491  ss << "Beam 2 RF (total " << beam2RF().size() << "): ";
492  std::copy( beam2RF().begin(), beam2RF().end(), std::ostream_iterator<float>( ss, "\t" ) );
493  ss << std::endl;
494 
495  std::vector<unsigned short> bunchVector1 = this->bunchConfigurationForBeam1();
496  std::vector<unsigned short> bunchVector2 = this->bunchConfigurationForBeam2();
497  ss << "Bunches filled for Beam 1 (total " << bunchVector1.size() << "): ";
498  std::copy( bunchVector1.begin(), bunchVector1.end(), std::ostream_iterator<unsigned short>( ss, ", " ) );
499  ss << std::endl;
500  ss << "Bunches filled for Beam 2 (total " << bunchVector2.size() << "): ";
501  std::copy( bunchVector2.begin(), bunchVector2.end(), std::ostream_iterator<unsigned short>( ss, ", " ) );
502  ss << std::endl;
503 }
504 
505 //protected getters
506 std::bitset<LHCInfo::bunchSlots+1> const & LHCInfo::bunchBitsetForBeam1() const {
507  return m_bunchConfiguration1;
508 }
509 
510 std::bitset<LHCInfo::bunchSlots+1> const & LHCInfo::bunchBitsetForBeam2() const {
511  return m_bunchConfiguration2;
512 }
513 
514 //protected setters
515 void LHCInfo::setBunchBitsetForBeam1( std::bitset<LHCInfo::bunchSlots+1> const & bunchConfiguration ) {
516  m_bunchConfiguration1 = bunchConfiguration;
517 }
518 
519 void LHCInfo::setBunchBitsetForBeam2( std::bitset<LHCInfo::bunchSlots+1> const & bunchConfiguration ) {
520  m_bunchConfiguration2 = bunchConfiguration;
521 }
522 
523 std::ostream & operator<<( std::ostream & os, LHCInfo beamInfo ) {
524  std::stringstream ss;
525  beamInfo.print( ss );
526  os << ss.str();
527  return os;
528 }
const double beta
std::string const & lhcState() const
Definition: LHCInfo.cc:219
void setBeam1RF(std::vector< float > const &beam1RF)
Definition: LHCInfo.cc:381
cond::Time_t const beginTime() const
Definition: LHCInfo.cc:203
void setLumiSection(unsigned int const &lumiSection)
Definition: LHCInfo.cc:369
unsigned short const bunchesInBeam1() const
Definition: LHCInfo.cc:143
void setBeginTime(cond::Time_t const &beginTime)
Definition: LHCInfo.cc:341
std::bitset< bunchSlots+1 > const & bunchBitsetForBeam1() const
Definition: LHCInfo.cc:506
void print(std::stringstream &ss) const
Definition: LHCInfo.cc:450
bool m_isData
Definition: LHCInfo.h:209
void setEnergy(float const &energy)
Definition: LHCInfo.cc:325
FillTypeId const fillType() const
Definition: LHCInfo.cc:159
bool isBunchInBeam1(size_t const &bunch) const
Definition: LHCInfo.cc:259
def copy(args, dbName)
void setParticleTypeForBeam2(ParticleTypeId const &particleType)
Definition: LHCInfo.cc:305
unsigned short const targetBunches() const
Definition: LHCInfo.cc:155
std::string const & injectionScheme() const
Definition: LHCInfo.cc:211
std::bitset< bunchSlots+1 > m_bunchConfiguration1
Definition: LHCInfo.h:214
static std::string particleTypeToString(LHCInfo::ParticleTypeId const &particleType)
Definition: LHCInfo.cc:46
void setInfo(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, float const &delivLumi, float const &recLumi, cond::Time_t const &createTime, cond::Time_t const &beginTime, cond::Time_t const &endTime, std::string const &scheme, std::vector< float > const &lumiPerBX, std::string const &lhcState, std::string const &lhcComment, std::string const &ctppsStatus, unsigned int const &lumiSection, std::vector< float > const &beam1VC, std::vector< float > const &beam2VC, std::vector< float > const &beam1RF, std::vector< float > const &beam2RF, std::bitset< bunchSlots+1 > const &bunchConf1, std::bitset< bunchSlots+1 > const &bunchConf2)
Definition: LHCInfo.cc:390
void setDelivLumi(float const &delivLumi)
Definition: LHCInfo.cc:329
const T & getOneParam(const std::vector< std::vector< T > > &params, size_t index)
Definition: LHCInfo.cc:115
void setParams(std::vector< T > &params, size_t index, const T &value)
Definition: LHCInfo.cc:127
std::string const & ctppsStatus() const
Definition: LHCInfo.cc:227
void setBeam1VC(std::vector< float > const &beam1VC)
Definition: LHCInfo.cc:373
std::vector< std::vector< float > > m_floatParams
Definition: LHCInfo.h:211
bool equal(const T &first, const T &second)
Definition: Equal.h:34
void setBunchesInBeam1(unsigned short const &bunches)
Definition: LHCInfo.cc:281
void setLhcComment(std::string const &lhcComment)
Definition: LHCInfo.cc:361
void setOneParam(std::vector< std::vector< T > > &params, size_t index, const T &value)
Definition: LHCInfo.cc:122
std::vector< std::vector< unsigned long long > > m_timeParams
Definition: LHCInfo.h:212
void setFill(unsigned short const &lhcFill, bool const &fromData)
Definition: LHCInfo.cc:92
float const delivLumi() const
Definition: LHCInfo.cc:191
float const crossingAngle() const
Definition: LHCInfo.cc:171
bool is25nsBunchSpacing() const
Definition: LHCInfo.cc:253
unsigned long long Time_t
Definition: Time.h:16
std::string const & lhcComment() const
Definition: LHCInfo.cc:223
void setBetaStar(float const &betaStar)
Definition: LHCInfo.cc:313
std::vector< float > const & beam1VC() const
Definition: LHCInfo.cc:235
std::vector< float > const & beam2RF() const
Definition: LHCInfo.cc:247
std::ostream & operator<<(std::ostream &os, LHCInfo beamInfo)
Definition: LHCInfo.cc:523
unsigned short const bunchesInBeam2() const
Definition: LHCInfo.cc:147
bool isBunchInBeam2(size_t const &bunch) const
Definition: LHCInfo.cc:265
void setLumiPerBX(std::vector< float > const &lumiPerBX)
Definition: LHCInfo.cc:353
void setBunchesInBeam2(unsigned short const &bunches)
Definition: LHCInfo.cc:285
std::vector< float > const & beam1RF() const
Definition: LHCInfo.cc:243
float const intensityForBeam2() const
Definition: LHCInfo.cc:183
#define end
Definition: vmac.h:39
void setBeam2RF(std::vector< float > const &beam2RF)
Definition: LHCInfo.cc:385
Definition: value.py:1
void setLhcState(std::string const &lhcState)
Definition: LHCInfo.cc:357
void setBeam2VC(std::vector< float > const &beam2VC)
Definition: LHCInfo.cc:377
void setCollidingBunches(unsigned short const &collidingBunches)
Definition: LHCInfo.cc:289
std::vector< std::vector< unsigned int > > m_intParams
Definition: LHCInfo.h:210
unsigned int const & lumiSection() const
Definition: LHCInfo.cc:231
bool const isData() const
Definition: LHCInfo.cc:139
void setRecLumi(float const &recLumi)
Definition: LHCInfo.cc:333
ParticleType
Definition: LHCInfo.h:15
cond::Time_t const endTime() const
Definition: LHCInfo.cc:207
static std::string fillTypeToString(LHCInfo::FillTypeId const &fillType)
Definition: LHCInfo.cc:21
void setParticleTypeForBeam1(ParticleTypeId const &particleType)
Definition: LHCInfo.cc:301
void setInjectionScheme(std::string const &injectionScheme)
Definition: LHCInfo.cc:349
~LHCInfo()
Definition: LHCInfo.cc:89
std::vector< float > const & beam2VC() const
Definition: LHCInfo.cc:239
std::vector< float > const & lumiPerBX() const
Definition: LHCInfo.cc:215
ParticleTypeId const particleTypeForBeam1() const
Definition: LHCInfo.cc:163
void setCreationTime(cond::Time_t const &createTime)
Definition: LHCInfo.cc:337
void setTargetBunches(unsigned short const &targetBunches)
Definition: LHCInfo.cc:293
LHCInfo()
Definition: LHCInfo.cc:73
const T & getParams(const std::vector< T > &params, size_t index)
Definition: LHCInfo.cc:110
float const recLumi() const
Definition: LHCInfo.cc:195
void setCtppsStatus(std::string const &ctppsStatus)
Definition: LHCInfo.cc:365
std::bitset< bunchSlots+1 > const & bunchBitsetForBeam2() const
Definition: LHCInfo.cc:510
unsigned short const collidingBunches() const
Definition: LHCInfo.cc:151
#define begin
Definition: vmac.h:32
float const betaStar() const
Definition: LHCInfo.cc:175
float const intensityForBeam1() const
Definition: LHCInfo.cc:179
float const energy() const
Definition: LHCInfo.cc:187
unsigned short const fillNumber() const
Definition: LHCInfo.cc:135
void setBunchBitsetForBeam1(std::bitset< bunchSlots+1 > const &bunchConfiguration)
Definition: LHCInfo.cc:515
void setBunchBitsetForBeam2(std::bitset< bunchSlots+1 > const &bunchConfiguration)
Definition: LHCInfo.cc:519
ParticleTypeId const particleTypeForBeam2() const
Definition: LHCInfo.cc:167
void setIntensityForBeam1(float const &intensity)
Definition: LHCInfo.cc:317
void setEndTime(cond::Time_t const &endTime)
Definition: LHCInfo.cc:345
long double T
void setIntensityForBeam2(float const &intensity)
Definition: LHCInfo.cc:321
std::bitset< bunchSlots+1 > m_bunchConfiguration2
Definition: LHCInfo.h:214
void setFillType(FillTypeId const &fillType)
Definition: LHCInfo.cc:297
cond::Time_t const createTime() const
Definition: LHCInfo.cc:199
void setCrossingAngle(float const &angle)
Definition: LHCInfo.cc:309
std::vector< unsigned short > bunchConfigurationForBeam2() const
Definition: LHCInfo.cc:276
boost::posix_time::ptime to_boost(Time_t iValue)
static std::vector< unsigned short > bitsetToVector(std::bitset< LHCInfo::bunchSlots+1 > const &bs)
Definition: LHCInfo.cc:9
std::vector< unsigned short > bunchConfigurationForBeam1() const
Definition: LHCInfo.cc:272
FillType
Definition: LHCInfo.h:14
std::vector< std::vector< std::string > > m_stringParams
Definition: LHCInfo.h:213
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11