ATLAS Offline Software
Loading...
Searching...
No Matches
TileHitFillerTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5/*
6 * File: TileHitFillerTool.cxx
7 * Author: Stephen Cole <stephen.cole@cern.ch>
8 *
9 * Created on January 13, 2012, 1:11 PM
10 */
11
12#include "TileHitFillerTool.h"
13#include "GaudiKernel/MsgStream.h"
14#include "GaudiKernel/ISvcLocator.h"
15#include "GaudiKernel/StatusCode.h"
18
19using namespace std;
20
21namespace D3PD{
22
24 const string& name, const IInterface* parent):
25 BlockFillerTool<TileHit>(type,name,parent),
26 m_tileID(0)
27{
28 TileHitFillerTool::book().ignore(); // Avoid coverity warnings
29}
30
35{
36 CHECK( detStore()->retrieve(m_tileID) );
37 return StatusCode::SUCCESS;
38}
39
41 CHECK(addVariable("energy",m_energy));
42 CHECK(addVariable("time",m_time));
43 CHECK(addVariable("detector",m_detector));
44 CHECK(addVariable("side",m_side));
45 CHECK(addVariable("sample",m_sample));
46 CHECK(addVariable("pmt",m_pmt));
47 CHECK(addVariable("eta",m_eta));
48 CHECK(addVariable("phi",m_phi));
49 return StatusCode::SUCCESS;
50}
51
52StatusCode TileHitFillerTool::fill(const TileHit& p){
53 Identifier id=p.identify();
54
55 int size=p.size();
56 for(int i=0;i<size;++i){
57 m_energy->push_back(p.energy(i));
58 m_time->push_back(p.time(i));
59
60 m_detector->push_back(m_tileID->section(id));
61 m_side->push_back(m_tileID->side(id));
62 m_sample->push_back(m_tileID->sample(id));
63 m_pmt->push_back(m_tileID->pmt(id));
64 m_eta->push_back(m_tileID->tower(id));
65 m_phi->push_back(m_tileID->module(id));
66 }
67
68 return StatusCode::SUCCESS;
69}
70
71}
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Type-safe wrapper for block filler tools.
std::vector< int > * m_detector
virtual StatusCode initialize()
Standard Gaudi initialize method.
std::vector< float > * m_energy
std::vector< int > * m_side
virtual StatusCode fill(const TileHit &p)
Fill one block — type-safe version.
std::vector< int > * m_eta
virtual StatusCode book()
Declare tuple variables.
std::vector< int > * m_sample
std::vector< float > * m_time
std::vector< int > * m_pmt
std::vector< int > * m_phi
TileHitFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Block filler tool for noisy FEB information.
STL namespace.