Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-10-15 08:26:11

0001 #ifndef TPCCONDITIONS_H
0002 #define TPCCONDITIONS_H
0003 
0004 #include <phool/PHObject.h>
0005 
0006 #include <iostream>
0007 
0008 //================================
0009 //  A simple container used by TpcConditionsReco
0010 //  to transmit the conditions for the current event
0011 //  to the consumers of that information.
0012 //
0013 //  This does not require schema evolution since
0014 //  it is not intended for output records.
0015 //
0016 //                 TKH 9/4/2026
0017 //================================
0018 
0019 class TpcConditions
0020 {
0021  public:
0022   TpcConditions() = default;
0023   virtual ~TpcConditions() = default;
0024 
0025   // float is used throught since telemetric data is of limited precision.
0026   void set_LoadCurrent(float Value) { m_LoadCurrent = Value; }
0027   void set_LoadNorth(float Value) { m_LoadNorth = Value; }
0028   void set_LoadSouth(float Value) { m_LoadSouth = Value; }
0029   void set_LoadSR1(float Value) { m_LoadSR1 = Value; }
0030   void set_LoadSR2(float Value) { m_LoadSR2 = Value; }
0031   void set_LoadSR3(float Value) { m_LoadSR3 = Value; }
0032   void set_LoadNR1(float Value) { m_LoadNR1 = Value; }
0033   void set_LoadNR2(float Value) { m_LoadNR2 = Value; }
0034   void set_LoadNR3(float Value) { m_LoadNR3 = Value; }
0035 
0036   void set_AverageLoadCurrent(float Value) { m_AverageLoadCurrent = Value; }
0037   void set_AverageLoadNorth(float Value) { m_AverageLoadNorth = Value; }
0038   void set_AverageLoadSouth(float Value) { m_AverageLoadSouth = Value; }
0039   void set_AverageLoadSR1(float Value) { m_AverageLoadSR1 = Value; }
0040   void set_AverageLoadSR2(float Value) { m_AverageLoadSR2 = Value; }
0041   void set_AverageLoadSR3(float Value) { m_AverageLoadSR3 = Value; }
0042   void set_AverageLoadNR1(float Value) { m_AverageLoadNR1 = Value; }
0043   void set_AverageLoadNR2(float Value) { m_AverageLoadNR2 = Value; }
0044   void set_AverageLoadNR3(float Value) { m_AverageLoadNR3 = Value; }
0045 
0046   void set_Temperature(float Value) { m_Temperature = Value; }
0047   void set_Pressure(float Value) { m_Pressure = Value; }
0048   void set_FieldOK(bool Value) { m_FieldOK = Value; }
0049   void set_GainOK(bool Value) { m_GainOK = Value; }
0050 
0051   float get_LoadCurrent() const { return m_LoadCurrent; }
0052   float get_LoadNorth() const { return m_LoadNorth; }
0053   float get_LoadSouth() const { return m_LoadSouth; }
0054   float get_LoadSR1() const { return m_LoadSR1; }
0055   float get_LoadSR2() const { return m_LoadSR2; }
0056   float get_LoadSR3() const { return m_LoadSR3; }
0057   float get_LoadNR1() const { return m_LoadNR1; }
0058   float get_LoadNR2() const { return m_LoadNR2; }
0059   float get_LoadNR3() const { return m_LoadNR3; }
0060 
0061   float get_AverageLoadCurrent() const { return m_AverageLoadCurrent; }
0062   float get_AverageLoadNorth() const { return m_AverageLoadNorth; }
0063   float get_AverageLoadSouth() const { return m_AverageLoadSouth; }
0064   float get_AverageLoadSR1() const { return m_AverageLoadSR1; }
0065   float get_AverageLoadSR2() const { return m_AverageLoadSR2; }
0066   float get_AverageLoadSR3() const { return m_AverageLoadSR3; }
0067   float get_AverageLoadNR1() const { return m_AverageLoadNR1; }
0068   float get_AverageLoadNR2() const { return m_AverageLoadNR2; }
0069   float get_AverageLoadNR3() const { return m_AverageLoadNR3; }
0070 
0071   float get_Temperature() const { return m_Temperature; }
0072   float get_Pressure() const { return m_Pressure; }
0073   bool get_FieldOK() const { return m_FieldOK; }
0074   bool get_GainOK() const { return m_GainOK; }
0075 
0076   void set_ConditionsAvailable(bool value) { m_ConditionsAvailable = value; }
0077   bool get_ConditionsAvailable() const { return m_ConditionsAvailable; }
0078 
0079  protected:
0080   float m_LoadCurrent{0.0};
0081   float m_LoadNorth{0.0};
0082   float m_LoadSouth{0.0};
0083   float m_LoadSR1{0.0};
0084   float m_LoadSR2{0.0};
0085   float m_LoadSR3{0.0};
0086   float m_LoadNR1{0.0};
0087   float m_LoadNR2{0.0};
0088   float m_LoadNR3{0.0};
0089 
0090   float m_AverageLoadCurrent{0.0};
0091   float m_AverageLoadNorth{0.0};
0092   float m_AverageLoadSouth{0.0};
0093   float m_AverageLoadSR1{0.0};
0094   float m_AverageLoadSR2{0.0};
0095   float m_AverageLoadSR3{0.0};
0096   float m_AverageLoadNR1{0.0};
0097   float m_AverageLoadNR2{0.0};
0098   float m_AverageLoadNR3{0.0};
0099 
0100   float m_Temperature{0.0};
0101   float m_Pressure{0.0};
0102   bool m_FieldOK{false};
0103   bool m_GainOK{false};
0104   bool m_ConditionsAvailable{false};
0105 };
0106 
0107 #endif