Belle II Software  release-08-01-10
ARICHAerogelMap.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 <TTimeStamp.h>
12 #include <string>
13 
14 namespace Belle2 {
22  class ARICHAerogelMap: public TObject {
23  public:
27  enum {c_layers = 2,
28  };
29 
33  ARICHAerogelMap(): m_id(""), m_ring(0), m_column(0), m_timeStamp(0, 0, 0, kTRUE, 0), m_comment("")
34  {
35  for (unsigned ii = 0; ii < c_layers; ii++) m_layer[ii] = 0;
36  };
37 
41  ARICHAerogelMap(const std::string& id, int ring, int column, unsigned int* layer, TTimeStamp timeStamp,
42  const std::string& comment): m_id(id),
43  m_ring(ring), m_column(column), m_timeStamp(timeStamp), m_comment(comment)
44  {
45  for (unsigned ii = 0; ii < c_layers; ii++) m_layer[ii] = layer[ii];
46  }
47 
48 
53 
57  std::string getAerogelSN() const {return m_id; }
58 
62  void setAerogelSN(const std::string& agelid) {m_id = agelid; }
63 
68  int getAerogelRingID() const {return m_ring;}
69 
74  void setAerogelRingID(int ring) {m_ring = ring;}
75 
80  int getAerogelColumnID() const {return m_column;}
81 
86  void setAerogelColumnID(int column) {m_column = column;}
87 
92  unsigned int getAerogelLayer(unsigned i) const { if (i < c_layers) { return m_layer[i]; } return 0; }
93 
98  void setAerogelLayer(unsigned int i, unsigned int layer);
99 
100 
104  TTimeStamp getAerogelTimeStamp() const {return m_timeStamp; }
105 
109  void setTimeStamp(TTimeStamp timeStamp) {m_timeStamp = timeStamp; }
110 
114  std::string getAerogelMapComment() const {return m_comment; }
115 
119  void setAerogelMapComment(const std::string& comment) {m_comment = comment; }
120 
121 
122  private:
123  std::string m_id;
124  int m_ring;
125  int m_column;
126  unsigned int m_layer[c_layers];
127  TTimeStamp m_timeStamp;
128  std::string m_comment;
131  };
133 } // end namespace Belle2
Map of the Aerogel placement.
std::string m_comment
optional comment
TTimeStamp m_timeStamp
Installation Date.
int m_column
Aerogel Column identifier.
ClassDef(ARICHAerogelMap, 2)
ClassDef.
std::string m_id
Aerogel Identifier.
std::string getAerogelMapComment() const
Return comment.
void setAerogelSN(const std::string &agelid)
Set Aerogel serial number.
void setAerogelRingID(int ring)
Set Aerogel Ring Identifier.
~ARICHAerogelMap()
Destructor.
ARICHAerogelMap(const std::string &id, int ring, int column, unsigned int *layer, TTimeStamp timeStamp, const std::string &comment)
Constructor.
int getAerogelColumnID() const
Return Aerogel Column Identifier.
void setTimeStamp(TTimeStamp timeStamp)
Set Aerogel installation date.
void setAerogelMapComment(const std::string &comment)
Set comment.
int m_ring
Aerogel Ring Identifier.
std::string getAerogelSN() const
Return Aerogel serial number.
void setAerogelColumnID(int column)
Set Aerogel Column Identifier.
@ c_layers
number of layers
ARICHAerogelMap()
Default constructor.
unsigned int getAerogelLayer(unsigned i) const
Return Aerogel Layer Identifier.
int getAerogelRingID() const
Return Aerogel Ring Identifier.
unsigned int m_layer[c_layers]
Aerogel Layers.
TTimeStamp getAerogelTimeStamp() const
Return Aerogel installation date.
void setAerogelLayer(unsigned int i, unsigned int layer)
Set aerogel info of layer i.
Abstract base class for different kinds of events.