ATLAS Offline Software
Loading...
Searching...
No Matches
IJetStream.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGHLTJETHYPO_IJETSTREAM_H
6#define TRIGHLTJETHYPO_IJETSTREAM_H
7
8/*
9 * PABC Interface to trigger jet hypo JetStream classes
10 * In this context, jets are represented by integer indices.
11 * a jet stream steps through the available indices in a manner
12 * that is implemnented in the concrete classes. The selected
13 * indices are returned in a vector.
14 *
15 * Checks on the validity of the stream can be made after construction
16 *
17 * Concrete implementations a pointer to a right neighbor
18 * of typeIJetStream object, and so can be an element of a linked list.
19 *
20 * Cycling is used by the left neighbor to decide whether the left
21 * neigbor should be bumped.
22 *
23 * When the state of all elements of the list is cycled, the caller is
24 * informed, and will normally stop the iteration,
25 *
26 */
27
28#include <vector>
29#include <string>
30
32 public:
33 virtual ~IJetStream(){}
34 virtual std::vector<std::size_t> get() = 0;
35 virtual bool valid() const = 0;
36 virtual bool bump() = 0;
37 virtual std::string dump() const= 0;
38};
39
40#endif
virtual bool valid() const =0
virtual bool bump()=0
virtual std::string dump() const =0
virtual std::vector< std::size_t > get()=0
virtual ~IJetStream()
Definition IJetStream.h:33