Belle II Software development
ARICHFEBoardInfo.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#pragma once
10#include <TObject.h>
11#include <string>
12#include <TTimeStamp.h>
13#include <arich/dbobjects/ARICHAsicInfo.h>
14
15namespace Belle2 {
24 class ARICHFEBoardInfo: public TObject {
25
26 public:
27
32 {
33 for (unsigned i = 0; i < 4; i++) m_asicInfo[i] = NULL;
34 for (unsigned i = 0; i < 4; i++) m_asicsFEB[i] = ("");
35 };
36
40 ARICHFEBoardInfo(int serial, ARICHAsicInfo** asicInfo, const std::string& asicsFEB, TTimeStamp timeStamp): m_serial(serial),
41 m_timeStamp(timeStamp),
43 {
44 for (unsigned i = 0; i < 4; i++) m_asicInfo[i] = asicInfo[i];
45 for (unsigned i = 0; i < 4; i++) m_asicsFEB[i] = asicsFEB[i];
46 };
47
52
57 int getFEBoardSerial() const {return m_serial; }
58
63 void setFEBoardSerial(int serial) {m_serial = serial; }
64
69 ARICHAsicInfo* getAsicInfo(unsigned int i) const;
70
76 void setAsicInfo(unsigned int i, ARICHAsicInfo* asic);
77
82 std::string getAsicPosition(unsigned int i) const;
83
89 void setAsicPosition(unsigned int i, const std::string& asicsFEB);
90
95 TTimeStamp getTimeStamp() const {return m_timeStamp; }
96
101 void setTimeStamp(TTimeStamp timeStamp) {m_timeStamp = timeStamp; }
102
107 std::string getFEBoardLocation();
108
113 void setFEBoardLocation(const std::string& currentLocation) {m_currentLocation = currentLocation; }
114
115 private:
118 std::string m_asicsFEB[4];
119 TTimeStamp m_timeStamp;
120 std::string m_currentLocation;
123 };
125} // end namespace Belle2
Tested ASIC chips.
Definition: ARICHAsicInfo.h:25
Front End Electronics Boards.
ARICHFEBoardInfo()
Default constructor.
TTimeStamp m_timeStamp
Delivery Date.
void setAsicPosition(unsigned int i, const std::string &asicsFEB)
Set ASIC position.
int getFEBoardSerial() const
Get Front-End Board identifier.
std::string m_currentLocation
Current Location of the FEB.
void setTimeStamp(TTimeStamp timeStamp)
Set delivery date.
int m_serial
FrontEndBoard Identfier.
ARICHAsicInfo * getAsicInfo(unsigned int i) const
Get ASIC info.
std::string getFEBoardLocation()
Get current location.
TTimeStamp getTimeStamp() const
Get delivery date.
ClassDef(ARICHFEBoardInfo, 2)
ClassDef.
std::string m_asicsFEB[4]
serial numbers of ASICs on FEB board
ARICHFEBoardInfo(int serial, ARICHAsicInfo **asicInfo, const std::string &asicsFEB, TTimeStamp timeStamp)
Constructor.
void setFEBoardSerial(int serial)
Set Front-End Board identifier.
ARICHAsicInfo * m_asicInfo[4]
id of the i-th chip in the FEB
void setAsicInfo(unsigned int i, ARICHAsicInfo *asic)
Set ASIC info.
void setFEBoardLocation(const std::string &currentLocation)
Set current location.
std::string getAsicPosition(unsigned int i) const
Get ASIC position.
Abstract base class for different kinds of events.