|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "CaloEvent/CaloTower.h"
18 #include "CaloEvent/CaloTowerContainer.h"
27 const std::string&
type,
31 , m_cellIdHelper(nullptr)
32 , m_larFCalId(nullptr)
50 ATH_MSG_INFO(
"CaloTowerBuilder for the FCal initiated" );
52 return StatusCode::SUCCESS;
72 for (; firstC != lastC; ++firstC) {
74 unsigned int ci = firstC->first;
75 double weightC = firstC->second;
76 int cndx =
cells->findIndex(ci);
79 cellPtr = (*cells)[cndx];
82 wsumE += weightC * cellPtr->
e();
99 for (
unsigned int t = 0;
t <
sz; ++
t, ++tower_it) {
101 addTower (tower_it, cellsEL, aTower);
113 assert(subseg->
size() ==
sz);
116 for (
unsigned int t = 0;
t <
sz; ++
t, ++tower_it) {
118 addTower (tower_it, cellsEL, aTower);
130 if( thisNC->rebuildLookup(ctx)!=StatusCode::SUCCESS )
131 throw std::runtime_error(
"LArFCalTowerBuilderTool::runTimeInit rebuildLookup table failed");
147 return StatusCode::FAILURE;
154 return StatusCode::SUCCESS;
160 ATH_MSG_DEBUG(
"no FCal cells in CaloCellContainer, skip tool!" );
161 return StatusCode::SUCCESS;
177 return StatusCode::SUCCESS;
197 return execute (ctx, theContainer,
nullptr,
nullptr);
216 return StatusCode::SUCCESS;
218 return StatusCode::FAILURE;
def retrieve(aClass, aKey=None)
tower_data_t::const_iterator cell_iterator
Iterator over a rectangular window of towers.
size_t size() const
size of internal data store
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
tower_iterator towers() const
const_pointer getDataPtr() const
Return a pointer to the currently-referenced container object.
virtual double e() const override final
get energy (data member) (synonym to method energy()
cell_iterator lastCellofTower(tower_iterator t) const
cell_iterator firstCellofTower(tower_iterator t) const
iterators: cells
void addUniqueCellNoKine(const CaloCellContainer *theContainer, index_type theIndex, double weight, size_t size_hint=0)
Add a cell (very fast)
Definition of CaloDetDescrManager.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
A rectangular window within the segmentation.
Storable container class for CaloTower.
::StatusCode StatusCode
StatusCode definition for legacy code.
SUBCALO
enumeration of sub calorimeters
int nCellsCalo(const CaloCell_ID::SUBCALO caloNum) const
get number of cels of given calorimeter
size_t itower() const
The tower index to which the iterator is referring.
Data class for calorimeter cell towers.
const CaloTowerSeg & towerseg() const
Return a copy of the attached CaloTowerSeg.
unsigned int towerSize(tower_iterator t) const
Container class for CaloCell.
This class provides the client interface for accessing the detector description information common to...
Data object for each calorimeter readout cell.
virtual void setE(double theE)
set energy data member
size_t size() const
The number of towers in this window.
#define ATLAS_THREAD_SAFE
void setCalo(const CaloCell_ID::SUBCALO &nCalo)
Adds a calorimeter index to the tower.
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
bool buildLookUp(const CaloCell_ID &cellIdHelper, const CaloDetDescrManager &theManager, CaloTowerContainer *theTowers)
setup trigger
virtual double getBasicEnergy() const override
Basic signal getter.