ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TestBeam
TBRec
src
CBNT_TBRecBase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//Dear emacs, this is -*-c++-*-
6
#ifndef TBREC_CBNT_TBRECBASE_H
7
#define TBREC_CBNT_TBRECBASE_H
8
9
#include "
AthenaBaseComps/AthAlgorithm.h
"
10
#include "GaudiKernel/ToolHandle.h"
11
12
#include "TTree.h"
13
14
class
HWIdentifier
;
15
class
LArOnlineID
;
16
class
LArEM_ID
;
17
class
LArHEC_ID
;
18
class
LArFCAL_ID
;
19
class
MsgStream;
20
21
class
CBNT_TBRecBase
:
public
AthAlgorithm
{
22
23
public
:
24
CBNT_TBRecBase
(
const
std::string & name, ISvcLocator * pSvcLocator);
25
virtual
~CBNT_TBRecBase
();
26
27
//Standard algo methods
28
virtual
StatusCode
initialize
()
override
;
29
virtual
StatusCode
execute
(
const
EventContext& ctx)
override
;
30
virtual
StatusCode
finalize
()
override
;
31
virtual
StatusCode
pre_execute
();
32
33
//These needs to be implemented by the deriving class
34
virtual
StatusCode
CBNT_initialize
() {
return
StatusCode::SUCCESS;}
35
virtual
StatusCode
CBNT_execute
() {
return
StatusCode::SUCCESS;}
36
virtual
StatusCode
CBNT_finalize
() {
return
StatusCode::SUCCESS;}
37
virtual
StatusCode
CBNT_clear
() {
return
StatusCode::SUCCESS;}
38
39
private
:
40
bool
m_initialized
;
41
42
protected
:
43
// wrapper to add branches
44
template
<
class
T>
void
addBranch
(
const
std::string &branchname, T &obj,
const
std::string &leaflist) {
45
m_nt
->Branch(branchname.c_str(), &obj, leaflist.c_str());
46
}
47
template
<
class
T>
void
addBranch
(
const
std::string &branchname, T *&obj) {
48
obj =
new
T();
49
m_nt
->Branch(branchname.c_str(), &obj);
50
}
51
template
<
class
T>
void
addBranch
(
const
std::string &branchname, T *&obj,
int
bufferSize,
int
splitLevel) {
52
obj =
new
T();
53
m_nt
->Branch(branchname.c_str(), &obj, bufferSize, splitLevel);
54
}
55
56
enum
{
NOT_VALID
= -999};
57
58
std::string
m_ntpath
,
m_ntTitle
;
59
60
//Ntuple pointer
61
TTree*
m_nt
;
62
63
MsgStream*
m_log
;
64
65
const
LArEM_ID
*
m_emId
;
66
const
LArHEC_ID
*
m_hecId
;
67
const
LArFCAL_ID
*
m_fcalId
;
68
const
LArOnlineID
*
m_onlineId
;
69
70
};
71
#endif
AthAlgorithm.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
CBNT_TBRecBase::m_onlineId
const LArOnlineID * m_onlineId
Definition
CBNT_TBRecBase.h:68
CBNT_TBRecBase::initialize
virtual StatusCode initialize() override
Definition
CBNT_TBRecBase.cxx:22
CBNT_TBRecBase::finalize
virtual StatusCode finalize() override
Definition
CBNT_TBRecBase.cxx:205
CBNT_TBRecBase::m_fcalId
const LArFCAL_ID * m_fcalId
Definition
CBNT_TBRecBase.h:67
CBNT_TBRecBase::m_ntTitle
std::string m_ntTitle
Definition
CBNT_TBRecBase.h:58
CBNT_TBRecBase::CBNT_clear
virtual StatusCode CBNT_clear()
Definition
CBNT_TBRecBase.h:37
CBNT_TBRecBase::CBNT_execute
virtual StatusCode CBNT_execute()
Definition
CBNT_TBRecBase.h:35
CBNT_TBRecBase::m_log
MsgStream * m_log
Definition
CBNT_TBRecBase.h:63
CBNT_TBRecBase::m_ntpath
std::string m_ntpath
Definition
CBNT_TBRecBase.h:58
CBNT_TBRecBase::CBNT_finalize
virtual StatusCode CBNT_finalize()
Definition
CBNT_TBRecBase.h:36
CBNT_TBRecBase::NOT_VALID
@ NOT_VALID
Definition
CBNT_TBRecBase.h:56
CBNT_TBRecBase::m_initialized
bool m_initialized
Definition
CBNT_TBRecBase.h:40
CBNT_TBRecBase::execute
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
Definition
CBNT_TBRecBase.cxx:154
CBNT_TBRecBase::addBranch
void addBranch(const std::string &branchname, T *&obj)
Definition
CBNT_TBRecBase.h:47
CBNT_TBRecBase::m_emId
const LArEM_ID * m_emId
Definition
CBNT_TBRecBase.h:65
CBNT_TBRecBase::m_nt
TTree * m_nt
Definition
CBNT_TBRecBase.h:61
CBNT_TBRecBase::addBranch
void addBranch(const std::string &branchname, T &obj, const std::string &leaflist)
Definition
CBNT_TBRecBase.h:44
CBNT_TBRecBase::pre_execute
virtual StatusCode pre_execute()
Definition
CBNT_TBRecBase.cxx:61
CBNT_TBRecBase::CBNT_TBRecBase
CBNT_TBRecBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition
CBNT_TBRecBase.cxx:12
CBNT_TBRecBase::CBNT_initialize
virtual StatusCode CBNT_initialize()
Definition
CBNT_TBRecBase.h:34
CBNT_TBRecBase::~CBNT_TBRecBase
virtual ~CBNT_TBRecBase()
Definition
CBNT_TBRecBase.cxx:18
CBNT_TBRecBase::m_hecId
const LArHEC_ID * m_hecId
Definition
CBNT_TBRecBase.h:66
CBNT_TBRecBase::addBranch
void addBranch(const std::string &branchname, T *&obj, int bufferSize, int splitLevel)
Definition
CBNT_TBRecBase.h:51
HWIdentifier
Definition
HWIdentifier.h:13
LArEM_ID
Helper class for LArEM offline identifiers.
Definition
LArEM_ID.h:111
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition
LArFCAL_ID.h:49
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition
LArHEC_ID.h:76
LArOnlineID
Definition
LArOnlineID.h:21
Generated on
for ATLAS Offline Software by
1.17.0