ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | Static Private Attributes | Friends | List of all members
BunchCrossingIntensityCondData Class Reference

#include <BunchCrossingIntensityCondData.h>

Collaboration diagram for BunchCrossingIntensityCondData:

Public Types

enum  BunchCrossingType {
  Empty = 0, FirstEmpty = 1, MiddleEmpty = 2, Single = 100,
  Front = 200, Middle = 201, Tail = 202, Unpaired = 300
}
 Enumeration type for a given bunch crossing. More...
 
enum  BunchDistanceType { NanoSec, BunchCrossings, FilledBunches }
 Enumeration specifying the units in which to expect the bunch distance type. More...
 
typedef unsigned int bcid_type
 

Public Member Functions

float GetBeam1IntensityBCID (const bcid_type bcid, int channel) const
 
float GetBeam2IntensityBCID (const bcid_type bcid, int channel) const
 
const std::vector< float > & GetBeam1IntensityPerBCIDVector (int channel) const
 
const std::vector< float > & GetBeam2IntensityPerBCIDVector (int channel) const
 
float GetBeam1IntensityAll (int channel) const
 
float GetBeam2IntensityAll (int channel) const
 
unsigned long long GetRunLB () const
 
void SetBeam1IntensityAll (float Beam1IntensityAll, int channel)
 
void SetBeam2IntensityAll (float Beam2IntensityAll, int channel)
 
void setBeam1IntensityPerBCIDVector (std::vector< float > &&val, int channel)
 
void setBeam2IntensityPerBCIDVector (std::vector< float > &&val, int channel)
 
void SetRunLB (unsigned long long RunLB)
 

Static Public Attributes

static constexpr int m_MAX_BCID =3564
 
static constexpr int m_BUNCH_SPACING = 25
 

Private Attributes

std::vector< float > m_beam1Intensity = std::vector<float> (m_MAX_BCID)
 
std::vector< float > m_beam2Intensity = std::vector<float> (m_MAX_BCID)
 
std::vector< float > m_beam1Intensity_fBCT = std::vector<float> (m_MAX_BCID)
 
std::vector< float > m_beam2Intensity_fBCT = std::vector<float> (m_MAX_BCID)
 
float m_beam1IntensityAll
 
float m_beam2IntensityAll
 
float m_beam1IntensityAll_fBCT
 
float m_beam2IntensityAll_fBCT
 
unsigned long long m_RunLB
 

Static Private Attributes

static const int m_headTailLength = 300
 

Friends

class BunchCrossingIntensityCondAlg
 

Detailed Description

Definition at line 23 of file BunchCrossingIntensityCondData.h.

Member Typedef Documentation

◆ bcid_type

Definition at line 27 of file BunchCrossingIntensityCondData.h.

Member Enumeration Documentation

◆ BunchCrossingType

Enumeration type for a given bunch crossing.

This enumeration can specify what kind of bunch crossing one BCID belongs to. The types could easily be extended later on.

Enumerator
Empty 

An empty bunch far away from filled bunches.

FirstEmpty 

The first empty bunch after a train.

MiddleEmpty 

An empty BCID in the middle of a train.

Single 

This is a filled, single bunch (not in a train)

Front 

The BCID belongs to the first few bunches in a train.

Middle 

The BCID belongs to the middle bunches in a train.

Tail 

The BCID belongs to the last few bunces in a train.

Unpaired 

This is an unpaired bunch (either beam1 or beam2)

Definition at line 61 of file BunchCrossingIntensityCondData.h.

62  {
63  Empty = 0,
64  FirstEmpty = 1,
65  MiddleEmpty = 2,
66  Single = 100,
67  Front = 200,
68  Middle = 201,
69  Tail = 202,
70  Unpaired = 300
71  };

◆ BunchDistanceType

Enumeration specifying the units in which to expect the bunch distance type.

To make it clear for the following functions what units to interpret their return values in, it is possible to request their return values in different units.

Enumerator
NanoSec 

Distance in nanoseconds.

BunchCrossings 

Distance in units of 25 nanoseconds.

FilledBunches 

Distance in units of filled bunches (depends on filling scheme)

Definition at line 79 of file BunchCrossingIntensityCondData.h.

79  {
80  NanoSec,
84  };

Member Function Documentation

◆ GetBeam1IntensityAll()

float BunchCrossingIntensityCondData::GetBeam1IntensityAll ( int  channel) const

Definition at line 53 of file BunchCrossingIntensityCondData.cxx.

53  {
54  // if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return false;
55  if(channel==0)
56  return m_beam1IntensityAll;
57  else if(channel==1)
59  else return 0;
60 
61 }

◆ GetBeam1IntensityBCID()

float BunchCrossingIntensityCondData::GetBeam1IntensityBCID ( const bcid_type  bcid,
int  channel 
) const

Definition at line 7 of file BunchCrossingIntensityCondData.cxx.

7  {
8  if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return 0;
9  if (channel==0)
10  return m_beam1Intensity.at(bcid);
11  else if (channel==1)
12  return m_beam1Intensity_fBCT.at(bcid);
13  else
14  return 0;
15 }

◆ GetBeam1IntensityPerBCIDVector()

const std::vector< float > & BunchCrossingIntensityCondData::GetBeam1IntensityPerBCIDVector ( int  channel) const

Definition at line 32 of file BunchCrossingIntensityCondData.cxx.

32  {
33  // if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return false;
34  if(channel==0)
35  return m_beam1Intensity;
36  // else if(channel==1)
37  else
38  return m_beam1Intensity_fBCT;
39 
40 }

◆ GetBeam2IntensityAll()

float BunchCrossingIntensityCondData::GetBeam2IntensityAll ( int  channel) const

Definition at line 64 of file BunchCrossingIntensityCondData.cxx.

64  {
65  // if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return false;
66  if(channel==0)
67  return m_beam2IntensityAll;
68  else if(channel==1)
70  else return 0;
71 
72 }

◆ GetBeam2IntensityBCID()

float BunchCrossingIntensityCondData::GetBeam2IntensityBCID ( const bcid_type  bcid,
int  channel 
) const

Definition at line 18 of file BunchCrossingIntensityCondData.cxx.

18  {
19  if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return 0;
20  if (channel==0)
21  return m_beam2Intensity.at(bcid);
22  else if (channel==1)
23  return m_beam2Intensity_fBCT.at(bcid);
24  else
25  return 0;
26 }

◆ GetBeam2IntensityPerBCIDVector()

const std::vector< float > & BunchCrossingIntensityCondData::GetBeam2IntensityPerBCIDVector ( int  channel) const

Definition at line 43 of file BunchCrossingIntensityCondData.cxx.

43  {
44  // if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return false;
45  if(channel==0)
46  return m_beam2Intensity;
47  else //if(channel==1)
48  return m_beam2Intensity_fBCT;
49 
50 }

◆ GetRunLB()

unsigned long long BunchCrossingIntensityCondData::GetRunLB ( ) const

Definition at line 75 of file BunchCrossingIntensityCondData.cxx.

75  {
76  // if (ATH_UNLIKELY(bcid>=m_MAX_BCID)) return false;
77  return m_RunLB;
78 }

◆ SetBeam1IntensityAll()

void BunchCrossingIntensityCondData::SetBeam1IntensityAll ( float  Beam1IntensityAll,
int  channel 
)

Definition at line 102 of file BunchCrossingIntensityCondData.cxx.

102  {
103  if(channel==0)
104  m_beam1IntensityAll = Beam1IntensityAll;
105  else if(channel==1)
106  m_beam1IntensityAll_fBCT = Beam1IntensityAll;
107 }

◆ setBeam1IntensityPerBCIDVector()

void BunchCrossingIntensityCondData::setBeam1IntensityPerBCIDVector ( std::vector< float > &&  val,
int  channel 
)

Definition at line 86 of file BunchCrossingIntensityCondData.cxx.

86  {
87  if (channel==0)
88  m_beam1Intensity = std::move(val);
89  else if (channel==1)
90  m_beam1Intensity_fBCT = std::move(val);
91 }

◆ SetBeam2IntensityAll()

void BunchCrossingIntensityCondData::SetBeam2IntensityAll ( float  Beam2IntensityAll,
int  channel 
)

Definition at line 110 of file BunchCrossingIntensityCondData.cxx.

110  {
111  if(channel==0)
112  m_beam2IntensityAll = Beam2IntensityAll;
113  else if(channel==1)
114  m_beam2IntensityAll_fBCT = Beam2IntensityAll;
115 }

◆ setBeam2IntensityPerBCIDVector()

void BunchCrossingIntensityCondData::setBeam2IntensityPerBCIDVector ( std::vector< float > &&  val,
int  channel 
)

Definition at line 94 of file BunchCrossingIntensityCondData.cxx.

94  {
95  if (channel==0)
96  m_beam2Intensity = std::move(val);
97  else if (channel==1)
98  m_beam2Intensity_fBCT = std::move(val);
99 }

◆ SetRunLB()

void BunchCrossingIntensityCondData::SetRunLB ( unsigned long long  RunLB)

Definition at line 118 of file BunchCrossingIntensityCondData.cxx.

118  {
119  m_RunLB = RunLB;
120 }

Friends And Related Function Documentation

◆ BunchCrossingIntensityCondAlg

friend class BunchCrossingIntensityCondAlg
friend

Definition at line 88 of file BunchCrossingIntensityCondData.h.

Member Data Documentation

◆ m_beam1Intensity

std::vector<float> BunchCrossingIntensityCondData::m_beam1Intensity = std::vector<float> (m_MAX_BCID)
private

Definition at line 93 of file BunchCrossingIntensityCondData.h.

◆ m_beam1Intensity_fBCT

std::vector<float> BunchCrossingIntensityCondData::m_beam1Intensity_fBCT = std::vector<float> (m_MAX_BCID)
private

Definition at line 96 of file BunchCrossingIntensityCondData.h.

◆ m_beam1IntensityAll

float BunchCrossingIntensityCondData::m_beam1IntensityAll
private

Definition at line 99 of file BunchCrossingIntensityCondData.h.

◆ m_beam1IntensityAll_fBCT

float BunchCrossingIntensityCondData::m_beam1IntensityAll_fBCT
private

Definition at line 101 of file BunchCrossingIntensityCondData.h.

◆ m_beam2Intensity

std::vector<float> BunchCrossingIntensityCondData::m_beam2Intensity = std::vector<float> (m_MAX_BCID)
private

Definition at line 94 of file BunchCrossingIntensityCondData.h.

◆ m_beam2Intensity_fBCT

std::vector<float> BunchCrossingIntensityCondData::m_beam2Intensity_fBCT = std::vector<float> (m_MAX_BCID)
private

Definition at line 97 of file BunchCrossingIntensityCondData.h.

◆ m_beam2IntensityAll

float BunchCrossingIntensityCondData::m_beam2IntensityAll
private

Definition at line 100 of file BunchCrossingIntensityCondData.h.

◆ m_beam2IntensityAll_fBCT

float BunchCrossingIntensityCondData::m_beam2IntensityAll_fBCT
private

Definition at line 102 of file BunchCrossingIntensityCondData.h.

◆ m_BUNCH_SPACING

constexpr int BunchCrossingIntensityCondData::m_BUNCH_SPACING = 25
staticconstexpr

Definition at line 29 of file BunchCrossingIntensityCondData.h.

◆ m_headTailLength

const int BunchCrossingIntensityCondData::m_headTailLength = 300
staticprivate

Definition at line 105 of file BunchCrossingIntensityCondData.h.

◆ m_MAX_BCID

constexpr int BunchCrossingIntensityCondData::m_MAX_BCID =3564
staticconstexpr

Definition at line 28 of file BunchCrossingIntensityCondData.h.

◆ m_RunLB

unsigned long long BunchCrossingIntensityCondData::m_RunLB
private

Definition at line 104 of file BunchCrossingIntensityCondData.h.


The documentation for this class was generated from the following files:
BunchCrossingIntensityCondData::m_beam2Intensity
std::vector< float > m_beam2Intensity
Definition: BunchCrossingIntensityCondData.h:94
BunchCrossingIntensityCondData::m_beam1Intensity
std::vector< float > m_beam1Intensity
Definition: BunchCrossingIntensityCondData.h:93
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
BunchCrossingIntensityCondData::m_beam1IntensityAll
float m_beam1IntensityAll
Definition: BunchCrossingIntensityCondData.h:99
BunchCrossingIntensityCondData::m_beam2IntensityAll_fBCT
float m_beam2IntensityAll_fBCT
Definition: BunchCrossingIntensityCondData.h:102
BunchCrossingIntensityCondData::m_beam1IntensityAll_fBCT
float m_beam1IntensityAll_fBCT
Definition: BunchCrossingIntensityCondData.h:101
BunchCrossingIntensityCondData::m_beam2IntensityAll
float m_beam2IntensityAll
Definition: BunchCrossingIntensityCondData.h:100
ATH_UNLIKELY
#define ATH_UNLIKELY(x)
Definition: AthUnlikelyMacros.h:17
BunchCrossingIntensityCondData::Unpaired
@ Unpaired
This is an unpaired bunch (either beam1 or beam2)
Definition: BunchCrossingIntensityCondData.h:70
BunchCrossingIntensityCondData::m_RunLB
unsigned long long m_RunLB
Definition: BunchCrossingIntensityCondData.h:104
BunchCrossingIntensityCondData::BunchCrossings
@ BunchCrossings
Distance in units of 25 nanoseconds.
Definition: BunchCrossingIntensityCondData.h:81
BunchCrossingIntensityCondData::FirstEmpty
@ FirstEmpty
The first empty bunch after a train.
Definition: BunchCrossingIntensityCondData.h:64
BunchCrossingIntensityCondData::Single
@ Single
This is a filled, single bunch (not in a train)
Definition: BunchCrossingIntensityCondData.h:66
BunchCrossingIntensityCondData::Middle
@ Middle
The BCID belongs to the middle bunches in a train.
Definition: BunchCrossingIntensityCondData.h:68
BunchCrossingIntensityCondData::Tail
@ Tail
The BCID belongs to the last few bunces in a train.
Definition: BunchCrossingIntensityCondData.h:69
BunchCrossingIntensityCondData::MiddleEmpty
@ MiddleEmpty
An empty BCID in the middle of a train.
Definition: BunchCrossingIntensityCondData.h:65
BunchCrossingIntensityCondData::m_beam1Intensity_fBCT
std::vector< float > m_beam1Intensity_fBCT
Definition: BunchCrossingIntensityCondData.h:96
BunchCrossingIntensityCondData::Front
@ Front
The BCID belongs to the first few bunches in a train.
Definition: BunchCrossingIntensityCondData.h:67
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
BunchCrossingIntensityCondData::NanoSec
@ NanoSec
Distance in nanoseconds.
Definition: BunchCrossingIntensityCondData.h:80
BunchCrossingIntensityCondData::FilledBunches
@ FilledBunches
Distance in units of filled bunches (depends on filling scheme)
Definition: BunchCrossingIntensityCondData.h:83
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
BunchCrossingIntensityCondData::Empty
@ Empty
An empty bunch far away from filled bunches.
Definition: BunchCrossingIntensityCondData.h:63
BunchCrossingIntensityCondData::m_beam2Intensity_fBCT
std::vector< float > m_beam2Intensity_fBCT
Definition: BunchCrossingIntensityCondData.h:97
BunchCrossingIntensityCondData::m_MAX_BCID
static constexpr int m_MAX_BCID
Definition: BunchCrossingIntensityCondData.h:28