ATLAS Offline Software
CBNTAA_TBADCRaw.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "CBNTAA_TBADCRaw.h"
6 
7 #include "TBEvent/TBADCRawCont.h"
8 #include <vector>
9 
10 CBNTAA_TBADCRaw::CBNTAA_TBADCRaw(const std::string & name, ISvcLocator * pSvcLocator) : CBNT_TBRecBase(name, pSvcLocator)
11 {
12  declareProperty("NeverReturnFailure", m_neverReturnFailure=false);
13  declareProperty("ContainerKey1",m_containerKey1="ADCRawCont");
14  m_adc=NULL;
15 }
16 
18 {//Clean up arrays of ntuple entries (if they have been booked)
19  delete m_adc;
20 }
21 
23 {
24  ATH_MSG_DEBUG ( "in initialize()" );
25 
26  addBranch("TBADCRaw",m_adc);
27  return StatusCode::SUCCESS;
28 
29 }
30 
32 {
33  const TBADCRawCont * adcCont;
34  StatusCode sc = evtStore()->retrieve(adcCont,m_containerKey1);
35  if (sc.isFailure())
36  {
37  ATH_MSG_ERROR ( "\033[31m" << " Cannot read TBADCRawCont from StoreGate! key= " << m_containerKey1 << "\033[0m" );
39  return StatusCode::SUCCESS;
40  } else {
41  return StatusCode::FAILURE;
42  }
43  }
44  else
45  {
46  ATH_MSG_DEBUG ( "\033[31m" << "Going over TBADCRawCont channels ..."<< "\033[0m" );
47 
48  const unsigned nADC = (TBADCRawCont::size_type)adcCont->size();
49  m_adc->resize(nADC);
50 
51  unsigned NtupleVectorIndex = 0;
52  for (const TBADCRaw* adc : *adcCont) {
53  (*m_adc)[NtupleVectorIndex] = adc->getADC();
54  }
55  }
56 
57  return StatusCode::SUCCESS;
58 }
59 
61 {
62  if (m_adc)
63  m_adc->clear();
64 
65  return StatusCode::SUCCESS;
66 }
67 
69 {
70  ATH_MSG_DEBUG ( "in finalize()" );
71  return StatusCode::SUCCESS;
72 }
73 
74 std::string CBNTAA_TBADCRaw::add_name(const char* base, const std::string& extension) {
75  std::string retval(base);
76  for (unsigned i=0;i<extension.size();i++) {
77  const char& ch=extension[i];
78  if (ch=='=' || ch==':' || ch=='/')
79  continue; //Inore these characters
80  else if (ch=='-')
81  retval.append("m");//replace by letter m
82  else if (ch=='+')
83  retval.append("p");//replace by letter p
84  else
85  retval.append(1,ch);
86  }
87  return retval;
88 }
base
std::string base
Definition: hcg.cxx:78
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
CBNTAA_TBADCRaw::CBNT_execute
virtual StatusCode CBNT_execute() override
Definition: CBNTAA_TBADCRaw.cxx:31
TBADCRaw
Definition: TBADCRaw.h:21
CBNTAA_TBADCRaw::CBNT_finalize
virtual StatusCode CBNT_finalize() override
Definition: CBNTAA_TBADCRaw.cxx:68
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CBNTAA_TBADCRaw::CBNTAA_TBADCRaw
CBNTAA_TBADCRaw(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CBNTAA_TBADCRaw.cxx:10
TBADCRawCont.h
CBNTAA_TBADCRaw::CBNT_initialize
virtual StatusCode CBNT_initialize() override
Definition: CBNTAA_TBADCRaw.cxx:22
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LArCellBinning_test.retval
def retval
Definition: LArCellBinning_test.py:112
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CBNT_TBRecBase
Definition: CBNT_TBRecBase.h:21
lumiFormat.i
int i
Definition: lumiFormat.py:92
CBNTAA_TBADCRaw::m_containerKey1
std::string m_containerKey1
Definition: CBNTAA_TBADCRaw.h:38
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
CBNTAA_TBADCRaw::m_neverReturnFailure
bool m_neverReturnFailure
Definition: CBNTAA_TBADCRaw.h:35
CBNT_TBRecBase::addBranch
void addBranch(const std::string &branchname, T &obj, const std::string &leaflist)
Definition: CBNT_TBRecBase.h:44
CBNTAA_TBADCRaw.h
CBNTAA_TBADCRaw::CBNT_clear
virtual StatusCode CBNT_clear() override
Definition: CBNTAA_TBADCRaw.cxx:60
CBNTAA_TBADCRaw::add_name
std::string add_name(const char *base, const std::string &extension)
Definition: CBNTAA_TBADCRaw.cxx:74
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CBNTAA_TBADCRaw::m_adc
std::vector< unsigned int > * m_adc
Definition: CBNTAA_TBADCRaw.h:37
CBNTAA_TBADCRaw::~CBNTAA_TBADCRaw
virtual ~CBNTAA_TBADCRaw()
Definition: CBNTAA_TBADCRaw.cxx:17
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
DataVector< TBADCRaw >::size_type
BASE::size_type size_type
Definition: DataVector.h:813
TBADCRawCont
Definition: TBADCRawCont.h:20
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.