ATLAS Offline Software
GenericDecorBranch.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONTESTER_GENERICDECORBRANCH_ICC
5 #define MUONTESTER_GENERICDECORBRANCH_ICC
6 
7 namespace MuonVal {
8 
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}{}
12 
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}{}
16 
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)));
20  }
21  template<class AuxType, class dType>
22  void GenericAuxEleBranch<AuxType, dType>::operator+=(const SG::AuxElement* p){
23  push_back(p);
24  }
25  template<class AuxType, class dType>
26  void GenericAuxEleBranch<AuxType, dType>::operator+=(const SG::AuxElement& p){
27  push_back(p);
28  }
29  template<class AuxType, class dType>
30  void GenericAuxEleBranch<AuxType, dType>::push_back(const SG::AuxElement* p) {
31  push_back(*p);
32  }
33 
34  template <class PartType, class dType>
35  void GenericPartDecorBranch<PartType, dType>::push_back(const xAOD::IParticle* p) {
36  push_back(*p);
37  }
38 
39  template <class PartType, class dType>
40  void GenericPartDecorBranch<PartType, dType>::operator+=(const xAOD::IParticle& p) {
41  push_back(p);
42  }
43  template <class PartType, class dType>
44  void GenericPartDecorBranch<PartType, dType>::operator+=(const xAOD::IParticle* p) {
45  push_back(p);
46  }
47  template <class PartType, class dType>
48  void GenericPartDecorBranch<PartType, dType>::push_back(const xAOD::IParticle& p) {
49  GenericAuxEleBranch<PartType, dType>::push_back(p);
50  }
51 }
52 
53 
54 #endif