ATLAS Offline Software
Loading...
Searching...
No Matches
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>
13
14namespace TCS {
15
16 class CompositeTOB : public GenericTOB {
17 public:
18 typedef std::vector<TCS::GenericTOB*> data_t;
19 typedef data_t::iterator iterator;
20 typedef data_t::const_iterator const_iterator;
21
22 // default constructor
24
25 // copy constructor
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
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
data_t & components()
virtual ~CompositeTOB()
data_t::const_iterator const_iterator
static CompositeTOB * createOnHeap(const CompositeTOB &tob)
static const Heap< TCS::CompositeTOB > & heap()
std::vector< TCS::GenericTOB * > data_t
virtual void print(std::ostream &o) const
static void clearHeap()
const data_t & components() const
data_t::iterator iterator
static thread_local Heap< TCS::CompositeTOB > fg_heap
GenericTOB(uint32_t roiWord=0)
Definition GenericTOB.cxx:8