ATLAS Offline Software
SGTileRawChannelGetterTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * File: TileRawChannelGetterTool.cxx
7  * Author: Stephen Cole <scole@niu.edu>
8  *
9  * Created on March 1, 2011, 9:28 AM
10  */
11 
14 
15 namespace D3PD{
17  const std::string& name,
18  const IInterface* parent):
19  Base(type,name,parent) {
20  }
21 
22 
24  }
25 
28  return StatusCode::SUCCESS;
29  }
30 
31  const std::type_info& SGTileRawChannelGetterTool::typeinfo() const {
32  return typeid(TileRawChannelContainer);
33  }
34 
35  const std::type_info& SGTileRawChannelGetterTool::elementTypeinfo() const {
36  return typeid(TileRawChannel);
37  }
38 
39  size_t SGTileRawChannelGetterTool::sizeHint(bool allowMissing){
40  const TileRawChannelContainer* tdc=get(allowMissing);
41  if(!tdc)return 0;
42  const TileRawChannelCollection* col=*(tdc->begin());
43  size_t rval=0;
44  size_t digSize=sizeof(TileRawChannel);
46  for(it=col->begin();it<col->end();++it)++rval;
47  return rval*digSize;
48  }
49 
51  const TileRawChannelContainer* tdc=get(allowMissing);
52  if(!tdc){
55  return StatusCode::FAILURE;
56  }
57  m_evtItr=tdc->begin();
58  m_evtEnd=tdc->end();
59  if(m_evtItr==m_evtEnd){
61  return StatusCode::SUCCESS;
62  }
64  m_digItr=col->begin();
65  m_digEnd=col->end();
66 
67  return StatusCode::SUCCESS;
68  }
69 
71  const TileRawChannel* tileR=0;
73  do{
74  if(m_evtItr==m_evtEnd)return 0;
75  if(m_digItr==m_digEnd){
76  tileR=0;
77  ++m_evtItr;
78  if(m_evtItr!=m_evtEnd){
79  col=*m_evtItr;
80  m_digItr=col->begin();
81  m_digEnd=col->end();
82  }
83  }
84  else {
85  tileR=*m_digItr;
86  ++m_digItr;
87  }
88  }while(!tileR);
89 
90  // if(m_evtItr==m_evtEnd)return 0;
91  // col=*m_evtItr;
92  // ++m_evtItr;
93 
94  return tileR;
95  }
96 
97 }
D3PD::SGTileRawChannelGetterTool::sizeHint
size_t sizeHint(bool allowMissing=false)
Return an estimate of the number of elements in the iteration.
Definition: SGTileRawChannelGetterTool.cxx:39
TileRawChannelContainer
Definition: TileRawChannelContainer.h:13
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
TileRawChannel.h
D3PD::SGTileRawChannelGetterTool::nextUntyped
const void * nextUntyped()
Return a pointer to the next element in the collection.
Definition: SGTileRawChannelGetterTool.cxx:70
skel.it
it
Definition: skel.GENtoEVGEN.py:396
D3PD::SGCollectionGetterTool< TileRawChannelContainer >
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::SGTileRawChannelGetterTool::typeinfo
const std::type_info & typeinfo() const
Return the type of object retrieved by this tool.
Definition: SGTileRawChannelGetterTool.cxx:31
D3PD::SGTileRawChannelGetterTool::m_digEnd
TileRawChannelCollection::const_iterator m_digEnd
Definition: SGTileRawChannelGetterTool.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::SGTileRawChannelGetterTool::m_evtItr
TileRawChannelContainer::const_iterator m_evtItr
Definition: SGTileRawChannelGetterTool.h:43
TileRawChannel
Definition: TileRawChannel.h:35
test_pyathena.parent
parent
Definition: test_pyathena.py:15
IdentifiableContainerMT::end
const_iterator end() const
return const_iterator for end of container
Definition: IdentifiableContainerMT.h:242
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
D3PD::SGCollectionGetterTool< TileRawChannelContainer >::initialize
virtual StatusCode initialize()
Standard Gaudi initialize method.
IdentifiableContainerMT::begin
const_iterator begin() const
return const_iterator for first entry
Definition: IdentifiableContainerMT.h:236
D3PD::SGTileRawChannelGetterTool::m_evtEnd
TileRawChannelContainer::const_iterator m_evtEnd
Definition: SGTileRawChannelGetterTool.h:43
D3PD::SGTileRawChannelGetterTool::~SGTileRawChannelGetterTool
virtual ~SGTileRawChannelGetterTool()
Definition: SGTileRawChannelGetterTool.cxx:23
D3PD::SGTileRawChannelGetterTool::elementTypeinfo
const std::type_info & elementTypeinfo() const
Definition: SGTileRawChannelGetterTool.cxx:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TileRawChannelCollection
Definition: TileRawChannelCollection.h:12
query_example.col
col
Definition: query_example.py:7
TileRawChannelContainer
Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current TileRawChannelContainer
Definition: TileTPCnv.cxx:127
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::SGTileRawChannelGetterTool::SGTileRawChannelGetterTool
SGTileRawChannelGetterTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: SGTileRawChannelGetterTool.cxx:16
SGTileRawChannelGetterTool.h
D3PD::SGTileRawChannelGetterTool::m_digItr
TileRawChannelCollection::const_iterator m_digItr
Definition: SGTileRawChannelGetterTool.h:44
D3PD::SGCollectionGetterTool< TileRawChannelContainer >::get
virtual const TileRawChannelContainer * get(bool allowMissing=false)
Type-safe wrapper for get.
D3PD::SGTileRawChannelGetterTool::initialize
StatusCode initialize()
Standard Gaudi initialize method.
Definition: SGTileRawChannelGetterTool.cxx:26
D3PD::SGTileRawChannelGetterTool::reset
StatusCode reset(bool allowMissing=false)
Reset the iteration to the start of the collection.
Definition: SGTileRawChannelGetterTool.cxx:50