ATLAS Offline Software
Loading...
Searching...
No Matches
TileCalorimeter
TileCalib
TileCalibBlobObjs
src
TileCalibDrawerBch.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TileCalibBlobObjs/TileCalibDrawerBch.h
"
6
#include <iostream>
7
8
//
9
//_____________________________________________________________
10
TileCalibDrawerBch
*
11
TileCalibDrawerBch::getInstance
(coral::Blob& blob,
12
const
DefType
& def,
13
uint16_t nChans,
14
TileBchDecoder::BitPatVer
bitPatVer,
15
const
std::string& author,
16
const
std::string& comment,
17
uint64_t timeStamp)
18
{
19
TileCalibDrawerBch
* calibDrawer =
new
TileCalibDrawerBch
(blob);
20
uint16_t objVers =
static_cast<
uint16_t
>
(bitPatVer);
21
calibDrawer->init(def,nChans,objVers,author,comment,timeStamp);
22
return
calibDrawer;
23
}
24
25
//
26
//_____________________________________________________________
27
const
TileCalibDrawerBch
*
28
TileCalibDrawerBch::getInstance
(
const
coral::Blob& blob)
29
{
30
//=== const Blob needs to be correctly formated
31
if
(blob.size()<
static_cast<
long
>
(
m_hdrSize32
)){
32
throw
TileCalib::InvalidBlob
(
"TileCalibDrawerBch::getInstance"
);
33
}
34
return
(
new
TileCalibDrawerBch
(blob));
35
}
36
37
//
38
//_______________________________________________________________
39
TileCalibDrawerBch::TileCalibDrawerBch
(
const
coral::Blob& blob)
40
:
TileCalibDrawerDat
<uint32_t>(blob)
41
{
42
//=== check for correct blob type
43
if
(
getBlobSize
()){
44
if
(
getObjType
() !=
TileCalibDrawerBch::getType
()){
45
throw
TileCalib::TypeConflict
(
"TileCalibDrawerBch::Ctor"
,
getObjType
(),
TileCalibDrawerBch::getType
());
46
}
47
}
48
}
49
50
//
51
//_______________________________________________________________
52
TileCalibDrawerBch::TileCalibDrawerBch
(coral::Blob& blob)
53
:
TileCalibDrawerDat
<uint32_t>(blob)
54
{
55
//=== check for correct blob type
56
if
(
getBlobSize
()){
57
if
(
getObjType
() !=
TileCalibDrawerBch::getType
()){
58
throw
TileCalib::TypeConflict
(
"TileCalibDrawerBch::Ctor"
,
getObjType
(),
TileCalibDrawerBch::getType
());
59
}
60
}
61
}
62
TileCalibDrawerBch.h
TileBchDecoder::BitPatVer
BitPatVer
Definition
TileBchDecoder.h:40
TileCalibDrawerDat< uint32_t >::getObjType
uint16_t getObjType() const
TileCalibDrawerDat< uint32_t >::getBlobSize
long getBlobSize() const
Definition
TileCalibDrawerBase.h:92
TileCalibDrawerDat< uint32_t >::m_hdrSize32
static const unsigned int m_hdrSize32
Definition
TileCalibDrawerBase.h:138
TileCalibDrawerBch
Class for storing a 32 bit status word for each ADC.
Definition
TileCalibDrawerBch.h:29
TileCalibDrawerBch::getInstance
static const TileCalibDrawerBch * getInstance(const coral::Blob &blob)
Returns a pointer to a const TileCalibDrawerBch.
Definition
TileCalibDrawerBch.cxx:28
TileCalibDrawerBch::TileCalibDrawerBch
TileCalibDrawerBch(const coral::Blob &blob)
Ctor (const).
Definition
TileCalibDrawerBch.cxx:39
TileCalibDrawerBch::getType
virtual uint16_t getType() const
Returns TileCalibType::BCH.
Definition
TileCalibDrawerBch.h:36
TileCalibDrawerDat< uint32_t >::TileCalibDrawerDat
TileCalibDrawerDat(const coral::Blob &blob)
Definition
TileCalibDrawerDat.h:89
TileCalibDrawerDat< uint32_t >::DefType
std::vector< std::vector< uint32_t > > DefType
Definition
TileCalibDrawerDat.h:37
TileCalib::InvalidBlob
Thrown if coral::Blob does not conform with expected structure.
Definition
TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/Exception.h:63
TileCalib::TypeConflict
Thrown if object type in BLOB does not agree with class type.
Definition
TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/Exception.h:99
Generated on
for ATLAS Offline Software by
1.14.0