![]() |
|
|||
File indexing completed on 2025-08-03 08:20:51
0001 #ifndef __PACKET_CDEVPOLARIMETER_H__ 0002 #define __PACKET_CDEVPOLARIMETER_H__ 0003 0004 #include <packet_w124.h> 0005 0006 /** 0007 This is the packet decoding the CDEV polarimeter data. 0008 It inherits from Packet\_w4 because the data are 32bit entities. 0009 */ 0010 #ifndef __CINT__ 0011 class WINDOWSEXPORT Packet_cdevpolarimeter : public Packet_w4 { 0012 #else 0013 class Packet_cdevpolarimeter : public Packet_w4 { 0014 #endif 0015 0016 public: 0017 Packet_cdevpolarimeter(PACKET_ptr); 0018 0019 /** 0020 Because the polarimeter data are a mixture of all kind of data, 0021 the only supported interface is the 0022 \begin{verbatim} 0023 packet->rValue(i,"WHAT") 0024 \end{verbatim} 0025 call, which returns a float value (most of the parameters are delivered as floats 0026 from RHIC). 0027 0028 As a rule of thumb, if a field is just a single value, such as "avgAsymXS", then 0029 the "i" parameter is ignored, so just p->rValue(0,"avgAsymXS") will do. 0030 0031 For the arrays, such as "encoderPositionS" (array of 2) or "bunchAsymXS" (array of 360), 0032 the index has to be in the right range, 0 or 1, or 0<= i < 360, respectively. 0033 0034 If an array is out of bounds, or the keyword is not recognized, the call returns 0. 0035 0036 Here are the keywords, which are just the (somewhat cryptic at times) names of the 0037 fields assigned by CA: 0038 0039 \begin{verbatim} 0040 0041 "m_cdevCaptureTimeStamp" 0042 "runIdS" 0043 "startTimeS" 0044 "stopTimeS" 0045 "encoderPositionS" (array of 2) 0046 "statusS" 0047 "totalCountsS" 0048 "upCountsS" 0049 "downCountsS" 0050 "unpolCountsS" 0051 "avgAsymXS" 0052 "avgAsymX45S" 0053 "avgAsymX90S" 0054 "avgAsymYS" 0055 "avgAsymErrorXS" 0056 "avgAsymErrorX45S" 0057 "avgAsymErrorX90S" 0058 "avgAsymErrorYS" 0059 "beamEnergyS" 0060 "analyzingPowerS" 0061 "analyzingPowerErrorS" 0062 "numberEventsS" 0063 "maxTimeS" 0064 "polarizationM" 0065 "bunchAsymXS" (array of 360) 0066 "bunchAsymYS" (array of 360) 0067 "bunchAsymErrorXS" (array of 360) 0068 "bunchAsymErrorYS" (array of 360) 0069 "countsUpLeftS" (array of 360) 0070 "countsLeftS" (array of 360) 0071 "countsDownLeftS" (array of 360) 0072 "countsDownRightS" (array of 360) 0073 "countsRightS" (array of 360) 0074 "countsUpRightS" (array of 360) 0075 \end{verbatim} 0076 0077 0078 */ 0079 0080 0081 0082 double dValue(const int channel,const char *what); 0083 float rValue(const int channel,const char *what); 0084 int iValue(const int channel,const char *what); 0085 0086 0087 void dump ( OSTREAM& ) ; 0088 0089 protected: 0090 virtual int *decode (int *); 0091 struct cdevPolarimeterData *ps; 0092 int haspoldata; 0093 0094 }; 0095 0096 #endif /* __PACKET_CDEVPOLARIMETER_H__ */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |