ATLAS Offline Software
CompositeTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoEvent_CompositeTOB
4 #define L1TopoEvent_CompositeTOB
5 
6 // class to hold composite trigger objects, for example such that are created by
7 // a topological algorithm
8 // ownership: the composite TOB never owns the candidates that it is composed of
9 
10 #include <iostream>
11 #include <vector>
12 #include "L1TopoEvent/GenericTOB.h"
13 
14 namespace TCS {
15 
16  class CompositeTOB : public GenericTOB {
17  public:
18  typedef std::vector<TCS::GenericTOB*> data_t;
20  typedef data_t::const_iterator const_iterator;
21 
22  // default constructor
23  CompositeTOB();
24 
25  // copy constructor
26  CompositeTOB(const CompositeTOB&);
27 
28  // constructor from a list of TOBs
29  CompositeTOB(const std::vector<GenericTOB*> &);
30 
31  // constructors for convencience
34 
35  // destructor
36  virtual ~CompositeTOB();
37 
38  static CompositeTOB* createOnHeap(const CompositeTOB& tob);
39  static void clearHeap();
40 
41  data_t & components() { return m_components; }
42  const data_t & components() const { return m_components; }
43 
44  virtual void print(std::ostream &o) const;
45 
46  static const Heap<TCS::CompositeTOB>& heap() { return fg_heap; }
47 
48  private:
50 
51  static thread_local Heap<TCS::CompositeTOB> fg_heap;
52  };
53 }
54 
55 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
TCS::CompositeTOB::m_components
data_t m_components
Definition: CompositeTOB.h:49
TCS::CompositeTOB::components
const data_t & components() const
Definition: CompositeTOB.h:42
TCS::CompositeTOB::components
data_t & components()
Definition: CompositeTOB.h:41
TCS::CompositeTOB::~CompositeTOB
virtual ~CompositeTOB()
TCS::Heap< TCS::CompositeTOB >
TCS::CompositeTOB::createOnHeap
static CompositeTOB * createOnHeap(const CompositeTOB &tob)
Definition: CompositeTOB.cxx:35
TCS::CompositeTOB::fg_heap
static thread_local Heap< TCS::CompositeTOB > fg_heap
Definition: CompositeTOB.h:51
TCS::CompositeTOB::clearHeap
static void clearHeap()
Definition: CompositeTOB.cxx:40
TCS::CompositeTOB::const_iterator
data_t::const_iterator const_iterator
Definition: CompositeTOB.h:20
TCS::CompositeTOB
Definition: CompositeTOB.h:16
TCS::CompositeTOB::iterator
data_t::iterator iterator
Definition: CompositeTOB.h:19
TCS::GenericTOB
Definition: GenericTOB.h:35
TCS::CompositeTOB::heap
static const Heap< TCS::CompositeTOB > & heap()
Definition: CompositeTOB.h:46
GenericTOB.h
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::CompositeTOB::data_t
std::vector< TCS::GenericTOB * > data_t
Definition: CompositeTOB.h:18
TCS::CompositeTOB::print
virtual void print(std::ostream &o) const
Definition: CompositeTOB.cxx:44
TCS::CompositeTOB::CompositeTOB
CompositeTOB()
Definition: CompositeTOB.cxx:9