Belle II Software  release-08-01-10
Channel.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef TRGChannel_FLAG_
10 #define TRGChannel_FLAG_
11 
12 #include <string>
13 
14 namespace Belle2 {
20  class TRGSignalBundle;
21  class TRGBoard;
22 
24  class TRGChannel {
25 
26  public:
27 
29  TRGChannel(const std::string& name,
30  const TRGBoard& sender,
31  const TRGBoard& receiver);
32 
34  virtual ~TRGChannel();
35 
36  public:// Selectors.
37 
39  const std::string& name(void) const;
40 
42  // const TRGSignalBundle * signal(void) const;
43  TRGSignalBundle* signal(void) const;
44 
47  void dump(const std::string& message = "",
48  const std::string& pre = "") const;
49 
51  const TRGBoard& sender(void) const;
52 
53  public:// Modifiers.
54 
56  // const TRGSignalBundle * signal(const TRGSignalBundle *);
58 
59  private:
60 
62  const std::string _name;
63 
65  const TRGBoard& _sender;
66 
69 
72  };
73 
74 //-----------------------------------------------------------------------------
75 
76  inline
77  const std::string&
78  TRGChannel::name(void) const
79  {
80  return _name;
81  }
82 
83  inline
86  {
87  _data = a;
88  return _data;
89  }
90 
91  inline
93  TRGChannel::signal(void) const
94  {
95  return _data;
96  }
97 
98  inline
99  const TRGBoard&
100  TRGChannel::sender(void) const
101  {
102  return _sender;
103  }
104 
106 } // namespace Belle2
107 
108 #endif /* TRGChannel_FLAG_ */
A class to represent a trigger board.
Definition: Board.h:25
A class to represent a serial link between trigger hardware modules.
Definition: Channel.h:24
const std::string _name
Name of a channel.
Definition: Channel.h:62
const TRGBoard & _sender
Sender.
Definition: Channel.h:65
TRGSignalBundle * _data
Input data.
Definition: Channel.h:71
const TRGBoard & _receiver
Receiver.
Definition: Channel.h:68
void dump(const std::string &message="", const std::string &pre="") const
dumps contents.
A class to represent a bundle of SignalVectors.
Definition: SignalBundle.h:26
const std::string & name(void) const
returns name.
Definition: Channel.h:78
const TRGBoard & sender(void) const
sender TRG board
Definition: Channel.h:100
TRGSignalBundle * signal(void) const
returns signal.
Definition: Channel.h:93
virtual ~TRGChannel()
Destructor.
Definition: Channel.cc:31
TRGChannel(const std::string &name, const TRGBoard &sender, const TRGBoard &receiver)
Constructor.
Definition: Channel.cc:21
Abstract base class for different kinds of events.