ATLAS Offline Software
Loading...
Searching...
No Matches
BCM_RawData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// BCM_RawData.h
7// Header file for class BCM_RawData
9// (c) ATLAS Detector software
11// Class to define BCM raw data objects
13// Version 1.0 13/08/2002 Veronique Boisvert
14// Version 1.1 19/03/2008 Daniel Dobos for BCM
15// Version 1.2 14/05/2008 Daniel Dobos
16// Version 1.3 23/05/2008 Dominique Tardif
17// Version 1.4 03/02/2009 Daniel Dobos
19
21// Coding of the RDO
22// Channel : word1 : 0x0000000F : 4-bit
23// Pulse1Position : word1 : 0x000003F0 : 6-bit
24// Pulse1Width : word1 : 0x00007C00 : 5-bit
25// Pulse2Position : word1 : 0x001F8000 : 6-bit
26// Pulse2Width : word1 : 0x03E00000 : 5-bit
27// LVL1A : word1 : 0xFC000000 : 6-bit
28// BCID : word2 : 0x00000FFF : 12-bit
29// LVL1ID : word2 : 0x0FFFF000 : 16-bit
30// Error : word2 : 0xF0000000 : 4-bit
32
33#ifndef INDETBCM_RAWDATA_BCM_RAWDATA_H
34#define INDETBCM_RAWDATA_BCM_RAWDATA_H
35
37
38public:
39 //'Rule of 5' : Default c'tor
40 BCM_RawData() = default;
41 //copy c'tor
42 BCM_RawData(const BCM_RawData &) = default;
43 //move c'tor
44 BCM_RawData(BCM_RawData &&) = default;
45 //assign
46 BCM_RawData & operator=(const BCM_RawData &) = default;
47 //move assign
49 //d'tor
50 ~BCM_RawData() = default;
51
52 // constructor with parameters: word1, word2
53 BCM_RawData(const unsigned int word1, const unsigned int word2);
54
55 // constructor with parameter list: Channel, Pulse1Position, Pulse1Width, Pulse2Position, Pulse2Width, LVL1A, BCID, LVL1ID
56 BCM_RawData(const unsigned int Channel,
57 const unsigned int Pulse1Position,
58 const unsigned int Pulse1Width,
59 const unsigned int Pulse2Position,
60 const unsigned int Pulse2Width,
61 const unsigned int LVL1A,
62 const unsigned int BCID,
63 const unsigned int LVL1ID);
64
65 // constructor with full parameter list: Channel, Pulse1Position, Pulse1Width, Pulse2Position, Pulse2Width, LVL1A, BCID, LVL1ID, Error
66 BCM_RawData(const unsigned int Channel,
67 const unsigned int Pulse1Position,
68 const unsigned int Pulse1Width,
69 const unsigned int Pulse2Position,
70 const unsigned int Pulse2Width,
71 const unsigned int LVL1A,
72 const unsigned int BCID,
73 const unsigned int LVL1ID,
74 const unsigned int Error);
75
76
77 // virtual methods
78 int getWord1() const { return m_word1; }
79 int getWord2() const { return m_word2; }
80 int getChannel() const { return (m_word1 & 0xF); } // Channel identifier 0-15
81 int getPulse1Position() const { return ((m_word1>>4) & 0x3F); } // Position of first pulse 0-63
82 int getPulse1Width() const { return ((m_word1>>10) & 0x1F); } // Width of first pulse 0-31
83 int getPulse2Position() const { return ((m_word1>>15) & 0x3F); } // Position of second pulse 0-63
84 int getPulse2Width() const { return ((m_word1>>21) & 0x1F); } // Width of second pulse 0-31
85 int getLVL1A() const { return ((m_word1>>26) & 0x3F); } // Level 1 accept, 0-63
86 int getBCID() const { return (m_word2 & 0xFFF); } // Bunch Crossing ID 0-4096
87 int getLVL1ID() const { return ((m_word2>>12) & 0xFFFF); } // Level 1 ID 0-65535
88 int getError() const { return ((m_word2>>28) & 0xF); } // Error 0-15
89
90private:
91
92 unsigned int m_word1=0;
93 unsigned int m_word2=0;
94
95};
96
97#endif // INDETBCM_RAWDATA_BCM_RAWDATA_H
int getPulse1Width() const
Definition BCM_RawData.h:82
BCM_RawData & operator=(BCM_RawData &&)=default
BCM_RawData & operator=(const BCM_RawData &)=default
int getWord1() const
Definition BCM_RawData.h:78
unsigned int m_word2
Definition BCM_RawData.h:93
BCM_RawData()=default
int getError() const
Definition BCM_RawData.h:88
int getLVL1ID() const
Definition BCM_RawData.h:87
int getWord2() const
Definition BCM_RawData.h:79
int getPulse2Position() const
Definition BCM_RawData.h:83
BCM_RawData(const BCM_RawData &)=default
~BCM_RawData()=default
int getLVL1A() const
Definition BCM_RawData.h:85
BCM_RawData(BCM_RawData &&)=default
int getPulse2Width() const
Definition BCM_RawData.h:84
int getChannel() const
Definition BCM_RawData.h:80
int getPulse1Position() const
Definition BCM_RawData.h:81
unsigned int m_word1
Definition BCM_RawData.h:92
int getBCID() const
Definition BCM_RawData.h:86