ATLAS Offline Software
Loading...
Searching...
No Matches
SpecialTrigger.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TRIGT1CTP_ISPECIAL_TRIGGER_H
5#define TRIGT1CTP_ISPECIAL_TRIGGER_H
6
7#include "CTPfragment/CTPdataformatVersion.h"
8
9// STL include(s):
10#include <vector>
11#include <string>
12#include <map>
13
14namespace LVL1CTP {
15
16 class ISpecialTrigger;
17 typedef std::map< std::string, const ISpecialTrigger*> InternalTriggerMap;
18
19
20 /* @brief Interface for internal trigger classes */
22 public:
23 virtual ~ISpecialTrigger() {}
24 virtual std::string name() const = 0;
25 virtual size_t pitPos() const = 0;
26 };
27
28
29
31 public:
32 RandomTrigger() = delete;
33 RandomTrigger( size_t rndmNr, const CTPdataformatVersion * ctpFormat);
34 virtual ~RandomTrigger() {}
35 std::string name() const
36 { return "RNDM" + std::to_string(m_rndmNr); }
37 size_t pitPos() const
38 {return m_pitPos; }
39 private:
40 size_t m_rndmNr;
41 size_t m_pitPos;
42 };
43
44
45
46
49 public:
51 BunchGroupTrigger( size_t bgrpNr,
52 const std::vector<unsigned int>& bunches,
53 const CTPdataformatVersion * ctpFormat);
54 virtual ~BunchGroupTrigger() {}
55 std::string name() const
56 { return "BGRP" + std::to_string(m_bgrpNr); }
57 size_t pitPos() const
58 {return m_pitPos; }
59 private:
60 std::vector<unsigned int> m_bunches;
61 size_t m_bgrpNr;
62 size_t m_pitPos;
63 };
64
65}
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85#endif
size_t m_bgrpNr
nr of the bunchgroup 0..15
std::vector< unsigned int > m_bunches
list of bunch IDs
std::string name() const
get name of internal trigger
size_t pitPos() const
get signal position on PIT bus
size_t m_pitPos
global bit in the TIP vector
virtual std::string name() const =0
get name of internal trigger
virtual size_t pitPos() const =0
get signal position on PIT bus
size_t pitPos() const
get signal position on PIT bus
std::string name() const
get name of internal trigger
size_t m_rndmNr
nr of the bunchgroup 0..15
size_t m_pitPos
global bit in the TIP vector
std::map< std::string, const ISpecialTrigger * > InternalTriggerMap