CMS 3D CMS Logo

BSTRecord.cc
Go to the documentation of this file.
3 
5  m_gpstime(0),
6  m_turnCount(0),
7  m_lhcFill(0),
8  m_intensityBeam1(0),
9  m_intensityBeam2(0),
10  m_beamMomentum(0),
11  m_beamMode(0),
12  m_particleBeam1(0),
13  m_particleBeam2(0),
14  m_bstMaster(0)
15 {}
16 
17 
19  m_gpstime(((uint64_t)(bst.gpstimehigh)<<32)|bst.gpstimelow),
20  m_turnCount(((uint32_t)(bst.turnCountHigh)<<16)|bst.turnCountLow),
21  m_lhcFill(((uint32_t)(bst.lhcFillHigh)<<16)|bst.lhcFillLow),
22  m_intensityBeam1(bst.intensityBeam1),
23  m_intensityBeam2(bst.intensityBeam2),
24  m_beamMomentum(bst.beamMomentum),
25  m_beamMode(bst.beamMode),
26  m_particleBeam1(bst.particleTypes & 0xFF),
27  m_particleBeam2(bst.particleTypes >> 8),
28  m_bstMaster(bst.bstMaster >> 8)
29 {
30  if ( m_beamMomentum == 65535 ) // Invalid value
31  m_beamMomentum = -1;
32  else if ( m_lhcFill >= 5698 ) // scale factor changed from 1GeV/LSB to 120MeV/LSB
33  m_beamMomentum *= 0.120;
34 }
35 
36 
37 std::ostream& operator<<(std::ostream& s, const BSTRecord& record)
38 {
39  s << "BST record:" << std::endl;
40  s << " GpsTime: " << record.getGpsTime() << std::endl;
41  s << " BstMaster: " << (uint16_t)record.getBstMaster() << std::endl;
42  s << " TurnCount: " << record.getTurnCount() << std::endl;
43  s << " LhcFill: " << record.getLhcFill() << std::endl;
44  s << " BeamMode: " << record.getBeamMode() << std::endl;
45  s << " ParticleBeam1: " << (uint16_t)record.getParticleBeam1() << std::endl;
46  s << " ParticleBeam2: " << (uint16_t)record.getParticleBeam2() << std::endl;
47  s << " BeamMomentum: " << record.getBeamMomentum() << " GeV" << std::endl;
48  s << " IntensityBeam1: " << record.getIntensityBeam1() << " 10E10" << std::endl;
49  s << " IntensityBeam2: " << record.getIntensityBeam2() << " 10E10" << std::endl;
50 
51  return s;
52 }
JetCorrectorParameters::Record record
Definition: classes.h:7
uint32_t m_intensityBeam1
Definition: BSTRecord.h:96
BSTRecord()
Definition: BSTRecord.cc:4
uint16_t const getBeamMode() const
Definition: BSTRecord.h:73
int32_t const getBeamMomentum() const
Definition: BSTRecord.h:82
uint64_t m_gpstime
Definition: BSTRecord.h:93
Class representing the Beam Synchronous Timing (BST) information included in the TCDS record...
Definition: BSTRecord.h:23
uint32_t m_turnCount
Definition: BSTRecord.h:94
uint8_t const getParticleBeam1() const
Definition: BSTRecord.h:76
uint32_t const getIntensityBeam2() const
Definition: BSTRecord.h:88
uint8_t m_particleBeam2
Definition: BSTRecord.h:101
uint32_t const getTurnCount() const
Definition: BSTRecord.h:67
unsigned long long uint64_t
Definition: Time.h:15
uint64_t const getGpsTime() const
Definition: BSTRecord.h:61
int32_t m_beamMomentum
Definition: BSTRecord.h:98
uint8_t m_particleBeam1
Definition: BSTRecord.h:100
uint32_t m_intensityBeam2
Definition: BSTRecord.h:97
uint8_t const getParticleBeam2() const
Definition: BSTRecord.h:79
std::ostream & operator<<(std::ostream &s, const BSTRecord &record)
Pretty-print operator for BSTRecord.
Definition: BSTRecord.cc:37
uint16_t m_beamMode
Definition: BSTRecord.h:99
uint8_t const getBstMaster() const
Definition: BSTRecord.h:64
uint32_t const getLhcFill() const
Definition: BSTRecord.h:70
uint8_t m_bstMaster
Definition: BSTRecord.h:102
uint32_t m_lhcFill
Definition: BSTRecord.h:95
uint32_t const getIntensityBeam1() const
Definition: BSTRecord.h:85