2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 #ifndef MUONTESTER_GENERICDECORBRANCH_ICC
5 #define MUONTESTER_GENERICDECORBRANCH_ICC
9 template<class AuxType, class dType>
10 GenericAuxEleBranch<AuxType, dType>::GenericAuxEleBranch(TTree* t, const std::string& var_name, Filler_t fill) :
11 VectorBranch<dType>{t, var_name}, m_fillFunc{fill}{}
13 template<class AuxType, class dType>
14 GenericAuxEleBranch<AuxType, dType>::GenericAuxEleBranch(MuonTesterTree& t, const std::string& var_name, Filler_t fill) :
15 VectorBranch<dType>{t, var_name}, m_fillFunc{fill}{}
17 template<class AuxType, class dType>
18 void GenericAuxEleBranch<AuxType, dType>::push_back(const SG::AuxElement& p) {
19 VectorBranch<dType>::push_back(m_fillFunc(static_cast<const AuxType&>(p)));
21 template<class AuxType, class dType>
22 void GenericAuxEleBranch<AuxType, dType>::operator+=(const SG::AuxElement* p){
25 template<class AuxType, class dType>
26 void GenericAuxEleBranch<AuxType, dType>::operator+=(const SG::AuxElement& p){
29 template<class AuxType, class dType>
30 void GenericAuxEleBranch<AuxType, dType>::push_back(const SG::AuxElement* p) {
34 template <class PartType, class dType>
35 void GenericPartDecorBranch<PartType, dType>::push_back(const xAOD::IParticle* p) {
39 template <class PartType, class dType>
40 void GenericPartDecorBranch<PartType, dType>::operator+=(const xAOD::IParticle& p) {
43 template <class PartType, class dType>
44 void GenericPartDecorBranch<PartType, dType>::operator+=(const xAOD::IParticle* p) {
47 template <class PartType, class dType>
48 void GenericPartDecorBranch<PartType, dType>::push_back(const xAOD::IParticle& p) {
49 GenericAuxEleBranch<PartType, dType>::push_back(p);