ATLAS Offline Software
Loading...
Searching...
No Matches
BunchCrossingAverageCondData.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
4 */
11
12
13#ifndef LUMIBLOCKDATA_BUNCHCROSSINGAVERAGECONDDATA_H
14#define LUMIBLOCKDATA_BUNCHCROSSINGAVERAGECONDDATA_H
15
16
19#include <vector>
20#include <bitset>
21
22
24
25public:
26
27 typedef unsigned int bcid_type;
28 static constexpr int m_MAX_BCID=3564;
29 static constexpr int m_BUNCH_SPACING = 25;
30
31
32
33 // Retrieve the Beam1/2 total intensity. Only paired bunches
34 float GetBeam1Intensity(int channel ) const;
35 float GetBeam2Intensity(int channel ) const;
36
37 // Retrieve the Beam1/2 total intensity. Paired and unpaired bunches
38 float GetBeam1IntensityAll(int channel ) const;
39 float GetBeam2IntensityAll(int channel ) const;
40
41 // Retrieve the Beam1/2 total intensity error. Only paired bunches
42 float GetBeam1IntensitySTD(int channel ) const;
43 float GetBeam2IntensitySTD(int channel ) const;
44
45 // Retrieve the Beam1/2 total intensity error. Paired and unpaired bunches
46 float GetBeam1IntensityAllSTD(int channel ) const;
47 float GetBeam2IntensityAllSTD(int channel ) const;
48
49 unsigned long long GetRunLB( ) const;
50 // Set the Beam1/2 total intensity. Only paired bunches
51 void SetBeam1Intensity( float Beam1Intensity,int channel) ;
52 void SetBeam2Intensity( float Beam2Intensity,int channel) ;
53
54 // Set the Beam1/2 total intensity. Paired and unpaired bunches
55 void SetBeam1IntensityAll( float Beam1IntensityAll,int channel) ;
56 void SetBeam2IntensityAll( float Beam2IntensityAll,int channel) ;
57
58 // Set the Beam1/2 total intensity error. Only paired bunches
59 void SetBeam1IntensitySTD( float Beam1IntensitySTD,int channel) ;
60 void SetBeam2IntensitySTD( float Beam2IntensitySTD,int channel) ;
61
62 // Set the Beam1/2 total intensity error. Paired and unpaired bunches
63 void SetBeam1IntensityAllSTD( float Beam1IntensityAllSTD,int channel) ;
64 void SetBeam2IntensityAllSTD( float Beam2IntensityAllSTD,int channel) ;
65
66
67
68 void SetRunLB( unsigned long long RunLB) ;
69
71
76 {
77 Empty = 0,
80 Single = 100,
81 Front = 200,
82 Middle = 201,
83 Tail = 202,
84 Unpaired = 300
85 };
86
87
94
95
96
97private:
98
99 friend class BunchCrossingAverageCondAlg;// The cond-alg filling this class
100
101
102 // Data
103
104
113
122
123
132
141 unsigned long long m_RunLB;
142 const static int m_headTailLength = 300; // magic number 300 ns from Run 2 tool
143
144
145
146};
149
150
151#endif // not COOLLUMIUTILITIES_FILLPARAMSCONDDATA_H
Hold mappings of ranges to condition objects.
#define CONDCONT_MIXED_DEF(...)
Definition CondCont.h:1446
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
void SetBeam2IntensityAllSTD(float Beam2IntensityAllSTD, int channel)
void SetBeam1Intensity(float Beam1Intensity, int channel)
void SetBeam2IntensityAll(float Beam2IntensityAll, int channel)
void SetBeam2Intensity(float Beam2Intensity, int channel)
float GetBeam2IntensityAllSTD(int channel) const
void SetBeam1IntensityAllSTD(float Beam1IntensityAllSTD, int channel)
BunchCrossingType
Enumeration type for a given bunch crossing.
@ Unpaired
This is an unpaired bunch (either beam1 or beam2)
@ Empty
An empty bunch far away from filled bunches.
@ FirstEmpty
The first empty bunch after a train.
@ Middle
The BCID belongs to the middle bunches in a train.
@ Front
The BCID belongs to the first few bunches in a train.
@ Single
This is a filled, single bunch (not in a train)
@ MiddleEmpty
An empty BCID in the middle of a train.
@ Tail
The BCID belongs to the last few bunces in a train.
void SetBeam2IntensitySTD(float Beam2IntensitySTD, int channel)
void SetBeam1IntensitySTD(float Beam1IntensitySTD, int channel)
void SetBeam1IntensityAll(float Beam1IntensityAll, int channel)
float GetBeam1IntensityAllSTD(int channel) const
@ BunchCrossings
Distance in units of 25 nanoseconds.
@ FilledBunches
Distance in units of filled bunches (depends on filling scheme)
void SetRunLB(unsigned long long RunLB)