CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
BSTRecord Class Reference

Class representing the Beam Synchronous Timing (BST) information included in the TCDS record. Beam parameters provided by BST are defined in: https://edms.cern.ch/document/638899/2.0. More...

#include <BSTRecord.h>

Public Types

enum  BeamMode {
  NOMODE = 0, SETUP = 1, INJPILOR = 3, INJINTR = 4,
  INJNOMN = 5, PRERAMP = 6, RAMP = 7, FLATTOP = 8,
  SQUEEZE = 9, ADJUST = 10, STABLE = 11, UNSTABLE = 12,
  BEAMDUMP = 13, RAMPDOWN = 14, RECOVERY = 15, INJDUMP = 16,
  CIRCDUMP = 17, ABORT = 18, CYCLING = 19, WBDUMP = 20,
  NOBEAM = 21
}
 
enum  Particle { PROTON = 0, LEAD = 1 }
 

Public Member Functions

 BSTRecord ()
 
 BSTRecord (const tcds::BST_v1 &)
 
uint16_t const getBeamMode () const
 
int32_t const getBeamMomentum () const
 
uint8_t const getBstMaster () const
 
uint64_t const getGpsTime () const
 
uint32_t const getIntensityBeam1 () const
 
uint32_t const getIntensityBeam2 () const
 
uint32_t const getLhcFill () const
 
uint8_t const getParticleBeam1 () const
 
uint8_t const getParticleBeam2 () const
 
uint32_t const getTurnCount () const
 

Private Attributes

uint16_t m_beamMode
 
int32_t m_beamMomentum
 
uint8_t m_bstMaster
 
uint64_t m_gpstime
 
uint32_t m_intensityBeam1
 
uint32_t m_intensityBeam2
 
uint32_t m_lhcFill
 
uint8_t m_particleBeam1
 
uint8_t m_particleBeam2
 
uint32_t m_turnCount
 

Detailed Description

Class representing the Beam Synchronous Timing (BST) information included in the TCDS record. Beam parameters provided by BST are defined in: https://edms.cern.ch/document/638899/2.0.

Author
S. Di Guida - INFN and Marconi University
Remi Mommsen - Fermilab

Definition at line 23 of file BSTRecord.h.

Member Enumeration Documentation

Enumerator
NOMODE 
SETUP 
INJPILOR 
INJINTR 
INJNOMN 
PRERAMP 
RAMP 
FLATTOP 
SQUEEZE 
ADJUST 
STABLE 
UNSTABLE 
BEAMDUMP 
RAMPDOWN 
RECOVERY 
INJDUMP 
CIRCDUMP 
ABORT 
CYCLING 
WBDUMP 
NOBEAM 

Definition at line 27 of file BSTRecord.h.

Enumerator
PROTON 
LEAD 

Definition at line 51 of file BSTRecord.h.

51  {
52  PROTON = 0,
53  LEAD = 1,
54  };

Constructor & Destructor Documentation

BSTRecord::BSTRecord ( )

Definition at line 4 of file BSTRecord.cc.

4  :
5  m_gpstime(0),
6  m_turnCount(0),
7  m_lhcFill(0),
10  m_beamMomentum(0),
11  m_beamMode(0),
12  m_particleBeam1(0),
13  m_particleBeam2(0),
14  m_bstMaster(0)
15 {}
uint32_t m_intensityBeam1
Definition: BSTRecord.h:96
uint64_t m_gpstime
Definition: BSTRecord.h:93
uint32_t m_turnCount
Definition: BSTRecord.h:94
uint8_t m_particleBeam2
Definition: BSTRecord.h:101
int32_t m_beamMomentum
Definition: BSTRecord.h:98
uint8_t m_particleBeam1
Definition: BSTRecord.h:100
uint32_t m_intensityBeam2
Definition: BSTRecord.h:97
uint16_t m_beamMode
Definition: BSTRecord.h:99
uint8_t m_bstMaster
Definition: BSTRecord.h:102
uint32_t m_lhcFill
Definition: BSTRecord.h:95
BSTRecord::BSTRecord ( const tcds::BST_v1 bst)

Definition at line 18 of file BSTRecord.cc.

References m_beamMomentum, and m_lhcFill.

18  :
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),
25  m_beamMode(bst.beamMode),
26  m_particleBeam1(bst.particleTypes & 0xFF),
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 }
const uint16_t beamMode
Definition: TCDSRaw.h:86
uint32_t m_intensityBeam1
Definition: BSTRecord.h:96
const uint16_t turnCountLow
Definition: TCDSRaw.h:82
const uint16_t particleTypes
Definition: TCDSRaw.h:87
const uint16_t beamMomentum
Definition: TCDSRaw.h:88
uint64_t m_gpstime
Definition: BSTRecord.h:93
uint32_t m_turnCount
Definition: BSTRecord.h:94
const uint16_t bstMaster
Definition: TCDSRaw.h:81
uint8_t m_particleBeam2
Definition: BSTRecord.h:101
unsigned long long uint64_t
Definition: Time.h:15
const uint32_t intensityBeam1
Definition: TCDSRaw.h:89
const uint16_t turnCountHigh
Definition: TCDSRaw.h:83
const uint16_t lhcFillLow
Definition: TCDSRaw.h:84
int32_t m_beamMomentum
Definition: BSTRecord.h:98
uint8_t m_particleBeam1
Definition: BSTRecord.h:100
const uint32_t intensityBeam2
Definition: TCDSRaw.h:90
const uint32_t gpstimelow
Definition: TCDSRaw.h:77
uint32_t m_intensityBeam2
Definition: BSTRecord.h:97
const uint32_t gpstimehigh
Definition: TCDSRaw.h:78
uint16_t m_beamMode
Definition: BSTRecord.h:99
const uint16_t lhcFillHigh
Definition: TCDSRaw.h:85
uint8_t m_bstMaster
Definition: BSTRecord.h:102
uint32_t m_lhcFill
Definition: BSTRecord.h:95

Member Function Documentation

uint16_t const BSTRecord::getBeamMode ( ) const
inline

Definition at line 73 of file BSTRecord.h.

References m_beamMode.

Referenced by ECALpedestalPCLworker::analyze(), DQMProvInfo::analyzeLhcInfo(), ecaldqm::TrigPrimTask::beginEvent(), and operator<<().

73 { return m_beamMode; }
uint16_t m_beamMode
Definition: BSTRecord.h:99
int32_t const BSTRecord::getBeamMomentum ( ) const
inline

Definition at line 82 of file BSTRecord.h.

References m_beamMomentum.

Referenced by DQMProvInfo::analyzeLhcInfo(), and operator<<().

82 { return m_beamMomentum; }
int32_t m_beamMomentum
Definition: BSTRecord.h:98
uint8_t const BSTRecord::getBstMaster ( ) const
inline

Definition at line 64 of file BSTRecord.h.

References m_bstMaster.

Referenced by operator<<().

64 { return m_bstMaster; }
uint8_t m_bstMaster
Definition: BSTRecord.h:102
uint64_t const BSTRecord::getGpsTime ( ) const
inline

Definition at line 61 of file BSTRecord.h.

References m_gpstime.

Referenced by operator<<().

61 { return m_gpstime; }
uint64_t m_gpstime
Definition: BSTRecord.h:93
uint32_t const BSTRecord::getIntensityBeam1 ( ) const
inline

Definition at line 85 of file BSTRecord.h.

References m_intensityBeam1.

Referenced by DQMProvInfo::analyzeLhcInfo(), and operator<<().

85 { return m_intensityBeam1; }
uint32_t m_intensityBeam1
Definition: BSTRecord.h:96
uint32_t const BSTRecord::getIntensityBeam2 ( ) const
inline

Definition at line 88 of file BSTRecord.h.

References m_intensityBeam2.

Referenced by DQMProvInfo::analyzeLhcInfo(), and operator<<().

88 { return m_intensityBeam2; }
uint32_t m_intensityBeam2
Definition: BSTRecord.h:97
uint32_t const BSTRecord::getLhcFill ( ) const
inline

Definition at line 70 of file BSTRecord.h.

References m_lhcFill.

Referenced by DQMProvInfo::analyzeLhcInfo(), and operator<<().

70 { return m_lhcFill; }
uint32_t m_lhcFill
Definition: BSTRecord.h:95
uint8_t const BSTRecord::getParticleBeam1 ( ) const
inline

Definition at line 76 of file BSTRecord.h.

References m_particleBeam1.

Referenced by operator<<().

76 { return m_particleBeam1; }
uint8_t m_particleBeam1
Definition: BSTRecord.h:100
uint8_t const BSTRecord::getParticleBeam2 ( ) const
inline

Definition at line 79 of file BSTRecord.h.

References m_particleBeam2.

Referenced by operator<<().

79 { return m_particleBeam2; }
uint8_t m_particleBeam2
Definition: BSTRecord.h:101
uint32_t const BSTRecord::getTurnCount ( ) const
inline

Definition at line 67 of file BSTRecord.h.

References m_turnCount.

Referenced by operator<<().

67 { return m_turnCount; }
uint32_t m_turnCount
Definition: BSTRecord.h:94

Member Data Documentation

uint16_t BSTRecord::m_beamMode
private

Definition at line 99 of file BSTRecord.h.

Referenced by getBeamMode().

int32_t BSTRecord::m_beamMomentum
private

Definition at line 98 of file BSTRecord.h.

Referenced by BSTRecord(), and getBeamMomentum().

uint8_t BSTRecord::m_bstMaster
private

Definition at line 102 of file BSTRecord.h.

Referenced by getBstMaster().

uint64_t BSTRecord::m_gpstime
private

Definition at line 93 of file BSTRecord.h.

Referenced by getGpsTime().

uint32_t BSTRecord::m_intensityBeam1
private

Definition at line 96 of file BSTRecord.h.

Referenced by getIntensityBeam1().

uint32_t BSTRecord::m_intensityBeam2
private

Definition at line 97 of file BSTRecord.h.

Referenced by getIntensityBeam2().

uint32_t BSTRecord::m_lhcFill
private

Definition at line 95 of file BSTRecord.h.

Referenced by BSTRecord(), and getLhcFill().

uint8_t BSTRecord::m_particleBeam1
private

Definition at line 100 of file BSTRecord.h.

Referenced by getParticleBeam1().

uint8_t BSTRecord::m_particleBeam2
private

Definition at line 101 of file BSTRecord.h.

Referenced by getParticleBeam2().

uint32_t BSTRecord::m_turnCount
private

Definition at line 94 of file BSTRecord.h.

Referenced by getTurnCount().