Belle II Software  release-05-02-19
TOPTriggerDigit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/datastore/RelationsObject.h>
14 #include <vector>
15 
16 namespace Belle2 {
25  class TOPTriggerDigit : public RelationsObject {
26  public:
27 
32  {}
33 
40  TOPTriggerDigit(int moduleID, unsigned channel, unsigned scrodID):
41  m_moduleID(moduleID), m_channel(channel), m_scrodID(scrodID)
42  {}
43 
49  void appendTimeStamp(short timeStamp) {m_timeStamps.push_back(timeStamp);}
50 
55  int getModuleID() const { return m_moduleID; }
56 
61  unsigned getChannel() const { return m_channel; }
62 
67  unsigned getASICChannel() const {return m_channel & 0x07;}
68 
73  unsigned getASICNumber() const {return (m_channel >> 3) & 0x03;}
74 
79  unsigned getCarrierNumber() const {return (m_channel >> 5) & 0x03;}
80 
85  unsigned getBoardstackNumber() const {return (m_channel >> 7) & 0x03;}
86 
91  unsigned getScrodID() const { return m_scrodID; }
92 
97  const std::vector<short>& getTimeStamps() const {return m_timeStamps;}
98 
99  private:
100 
101  int m_moduleID = 0;
102  unsigned m_channel = 0;
103  unsigned m_scrodID = 0;
104  std::vector<short> m_timeStamps;
108  };
109 
111 }
Belle2::TOPTriggerDigit::getASICNumber
unsigned getASICNumber() const
Returns ASIC number.
Definition: TOPTriggerDigit.h:81
Belle2::TOPTriggerDigit::getScrodID
unsigned getScrodID() const
Returns SCROD ID.
Definition: TOPTriggerDigit.h:99
Belle2::TOPTriggerDigit::TOPTriggerDigit
TOPTriggerDigit()
Default constructor.
Definition: TOPTriggerDigit.h:39
Belle2::TOPTriggerDigit::m_moduleID
int m_moduleID
module ID
Definition: TOPTriggerDigit.h:109
Belle2::TOPTriggerDigit::getChannel
unsigned getChannel() const
Returns hardware channel number.
Definition: TOPTriggerDigit.h:69
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPTriggerDigit::m_channel
unsigned m_channel
hardware channel number
Definition: TOPTriggerDigit.h:110
Belle2::TOPTriggerDigit::getCarrierNumber
unsigned getCarrierNumber() const
Returns carrier board number.
Definition: TOPTriggerDigit.h:87
Belle2::TOPTriggerDigit::appendTimeStamp
void appendTimeStamp(short timeStamp)
Append time stamp.
Definition: TOPTriggerDigit.h:57
Belle2::TOPTriggerDigit
Class to store trigger time stamps.
Definition: TOPTriggerDigit.h:33
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::TOPTriggerDigit::m_timeStamps
std::vector< short > m_timeStamps
time stamps
Definition: TOPTriggerDigit.h:112
Belle2::TOPTriggerDigit::getBoardstackNumber
unsigned getBoardstackNumber() const
Returns boardstack number.
Definition: TOPTriggerDigit.h:93
Belle2::TOPTriggerDigit::m_scrodID
unsigned m_scrodID
SCROD ID.
Definition: TOPTriggerDigit.h:111
Belle2::TOPTriggerDigit::getTimeStamps
const std::vector< short > & getTimeStamps() const
Returns time stamps (339MHz clock ticks since the most recent frame9 marker)
Definition: TOPTriggerDigit.h:105
Belle2::TOPTriggerDigit::getASICChannel
unsigned getASICChannel() const
Returns ASIC channel number.
Definition: TOPTriggerDigit.h:75
Belle2::TOPTriggerDigit::getModuleID
int getModuleID() const
Returns module ID.
Definition: TOPTriggerDigit.h:63
Belle2::TOPTriggerDigit::ClassDef
ClassDef(TOPTriggerDigit, 1)
ClassDef.