File indexing completed on 2025-08-03 08:20:39
0001 #include <packet_cdevdvm.h>
0002
0003 Packet_cdevdvm::Packet_cdevdvm(PACKET_ptr data)
0004 : Packet_w4 (data)
0005 {
0006 ps = 0;
0007 decoded = 0;
0008 }
0009
0010 int *Packet_cdevdvm::decode ( int *nwout)
0011 {
0012 if (decoded) {
0013 *nwout = 0;
0014 return 0;
0015 }
0016
0017 decoded=1;
0018
0019 int *k;
0020 k = (int *) findPacketDataStart(packet);
0021 if (k == 0)
0022 {
0023 ps = 0;
0024 *nwout = 0;
0025 return 0;
0026 }
0027
0028 ps = ( struct cdevDvmData *) k;
0029
0030
0031
0032 *nwout = 0;
0033 return 0;
0034 }
0035
0036 float Packet_cdevdvm::fValue(const int ich, const char *what)
0037 {
0038 int i;
0039 decode (&i);
0040
0041 if ( strcmp(what, "beamLifeTime") == 0 ) return ps->beamLifeTime;
0042
0043 std::cout << "packet_cdevdvm::fValue error unknown datum: " << what << std::endl;
0044 return 0;
0045
0046 }
0047
0048
0049 float Packet_cdevdvm::rValue(const int ich, const char *what)
0050 {
0051 int i;
0052 decode (&i);
0053
0054 if ( strcmp(what, "beamLifeTime") == 0 ) return ps->beamLifeTime;
0055
0056 std::cout << "packet_cdevdvm::rValue error unknown datum: " << what << std::endl;
0057 return 0;
0058
0059 }
0060
0061
0062 double Packet_cdevdvm::dValue(const int channel,const char *what)
0063 {
0064 int i;
0065 decode (&i);
0066
0067 if ( strcmp(what, "beamCurrent") == 0 ) return ps->beamCurrent;
0068 if ( strcmp(what, "beamLifeTime") == 0 ) return ps->beamLifeTime;
0069
0070
0071 std::cout << "packet_cdevdvm::dValue error unknown datum: " << what << std::endl;
0072 return 0;
0073 }
0074
0075
0076
0077 void Packet_cdevdvm::dump ( OSTREAM& os)
0078 {
0079 int i;
0080 decode (&i);
0081
0082 this->identify(os);
0083
0084 os << std::setw(12)<< "beamCurrent " << ps->beamCurrent << std::endl;
0085 os << std::setw(12)<< "beamLifeTime " << ps->beamLifeTime << std::endl;
0086
0087 }
0088
0089
0090
0091
0092