Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:52

0001 #include "MbdOut.h"
0002 #include "MbdReturnCodes.h"
0003 
0004 #include <iostream>
0005 #include <iomanip>
0006 #include <limits>
0007 
0008 void MbdOut::identify(std::ostream& os) const
0009 {
0010   os << "virtual MbdOut object" << std::endl;
0011   return;
0012 }
0013 
0014 void MbdOut::Reset()
0015 {
0016   std::cout << "ERROR MbdOut: Reset() not implemented by daughter class" << std::endl;
0017   return;
0018 }
0019 
0020 int MbdOut::isValid() const
0021 {
0022   virtual_warning("isValid()");
0023   return 0;
0024 }
0025 
0026 Float_t MbdOut::get_zvtx() const
0027 {
0028   virtual_warning("get_zvtx()");
0029   return std::numeric_limits<Float_t>::quiet_NaN();
0030 }
0031 
0032 Float_t MbdOut::get_zvtxerr() const
0033 {
0034   virtual_warning("get_zvtxerr()");
0035   return std::numeric_limits<Float_t>::quiet_NaN();
0036 }
0037 
0038 Float_t MbdOut::get_t0() const
0039 {
0040   virtual_warning("get_t0()");
0041   return std::numeric_limits<Float_t>::quiet_NaN();
0042 }
0043 
0044 //__________________________________________
0045 Float_t MbdOut::get_t0err() const
0046 {
0047   virtual_warning("get_t0err()");
0048   return std::numeric_limits<Float_t>::quiet_NaN();
0049 }
0050 
0051 //__________________________________________
0052 void MbdOut::set_t0(const Float_t /*unused*/, const Float_t /*unused*/)
0053 {
0054   virtual_warning("set_t0(const Float_t t0, const Float_t t0err)");
0055   return;
0056 }
0057 
0058 //__________________________________________
0059 void MbdOut::set_zvtx(const Float_t /*unused*/, const Float_t /*unused*/)
0060 {
0061   virtual_warning("set_zvtx(const Float_t vtx, const Float_t vtxerr)");
0062   return;
0063 }
0064 
0065 //__________________________________________
0066 void MbdOut::set_zvtxerr(const Float_t /*unused*/)
0067 {
0068   virtual_warning("set_zvtxerr(const Float_t vtxerr)");
0069   return;
0070 }
0071 
0072 //________________________________________________________________
0073 void MbdOut::set_arm(const int /*iarm*/, const Short_t /*npmt*/, const Float_t /*energy*/, const Float_t /*timing*/)
0074 {
0075   virtual_warning("set_arm(const int iMBD, const Short_t npmt, const Float_t energy, const Float_t timing)");
0076   return;
0077 }
0078 
0079 void MbdOut::set_clocks(const Int_t /*evt*/, const UShort_t /*iclk*/, const UShort_t /*ifemclk*/)
0080 {
0081   virtual_warning("set_clocks(const Int_t ievt, const UShort_t iclk, const UShort_t ifemclk");
0082   return;
0083 }
0084 
0085 Short_t MbdOut::get_npmt(const int /*iarm*/) const
0086 {
0087   virtual_warning("get_npmt(const int iarm)");
0088   return MbdReturnCodes::MBD_INVALID_SHORT;
0089 }
0090 
0091 Float_t MbdOut::get_q(const int /*iarm*/) const
0092 {
0093   virtual_warning("get_q(const int iarm)");
0094   return std::numeric_limits<Float_t>::quiet_NaN();
0095 }
0096 
0097 Float_t MbdOut::get_time(const int /*iarm*/) const
0098 {
0099   virtual_warning("get_time(const int iarm)");
0100   return std::numeric_limits<Float_t>::quiet_NaN();
0101 }
0102 
0103 Int_t MbdOut::get_evt() const
0104 {
0105   virtual_warning("get_evt()");
0106   return 0;
0107 }
0108 
0109 UShort_t MbdOut::get_clock() const
0110 {
0111   virtual_warning("get_clock()");
0112   return 0;
0113 }
0114 
0115 UShort_t MbdOut::get_femclock() const
0116 {
0117   virtual_warning("get_femclock(const int iarm)");
0118   return 0;
0119 }
0120 
0121 void MbdOut::virtual_warning(const std::string& funcsname) 
0122 {
0123   std::cout << "MbdOut::" << funcsname << " is virtual, doing nothing" << std::endl;
0124   return;
0125 }
0126 
0127 void MbdOut::FillFromClass(const MbdOut& old)
0128 {
0129   for (int iarm = 0; iarm < 2; iarm++)
0130   {
0131     set_arm(iarm, old.get_npmt(iarm), old.get_q(iarm), old.get_time(iarm));
0132   }
0133 
0134   set_t0zvtx(old.get_t0(), old.get_t0err(), old.get_zvtx(), old.get_zvtxerr());
0135 }
0136 
0137 void MbdOut::Print(Option_t * /*option*/) const
0138 {
0139   std::cout << "MbdOut, evt " << get_evt() << std::endl;
0140   std::cout << "clk\t" << std::setw(12) << get_clock() << std::setw(12) << get_femclock() << std::endl;
0141   std::cout << "zvtx\t" << std::setw(12) << get_zvtx() << std::setw(12) << get_zvtxerr() << std::endl;
0142   std::cout << "t0\t" << std::setw(12) << get_t0() << std::setw(12) << get_t0err() << std::endl;
0143   std::cout << "npmt\t" << std::setw(12) << get_npmt(0) << std::setw(12) << get_npmt(1) << std::endl;
0144   std::cout << "time\t" << std::setw(12) << get_time(0) << std::setw(12) << get_time(1) << std::endl;
0145 }