Belle II Software  release-08-01-10
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 
15 namespace Belle2 {
24  class ARICHFEBoardInfo: public TObject {
25  public:
26 
31  {
32  for (unsigned i = 0; i < 4; i++) m_asicInfo[i] = NULL;
33  for (unsigned i = 0; i < 4; i++) m_asicsFEB[i] = ("");
34  };
35 
39  ARICHFEBoardInfo(int serial, ARICHAsicInfo** asicInfo, const std::string& asicsFEB, TTimeStamp timeStamp): m_serial(serial),
40  m_timeStamp(timeStamp),
42  {
43  for (unsigned i = 0; i < 4; i++) m_asicInfo[i] = asicInfo[i];
44  for (unsigned i = 0; i < 4; i++) m_asicsFEB[i] = asicsFEB[i];
45  };
46 
51 
55  int getFEBoardSerial() const {return m_serial; }
56 
60  void setFEBoardSerial(int serial) {m_serial = serial; }
61 
65  ARICHAsicInfo* getAsicInfo(unsigned int i) const;
66 
70  void setAsicInfo(unsigned int i, ARICHAsicInfo* asic);
71 
75  std::string getAsicPosition(unsigned int i) const;
76 
80  void setAsicPosition(unsigned int i, const std::string& asicsFEB);
81 
85  TTimeStamp getTimeStamp() const {return m_timeStamp; }
86 
90  void setTimeStamp(TTimeStamp timeStamp) {m_timeStamp = timeStamp; }
91 
95  std::string getFEBoardLocation();
96 
100  void setFEBoardLocation(const std::string& currentLocation) {m_currentLocation = currentLocation; }
101 
102  private:
103  int m_serial;
105  std::string m_asicsFEB[4];
106  TTimeStamp m_timeStamp;
107  std::string m_currentLocation;
110  };
112 } // 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.