EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Packet_cdevpolarimeter Class Reference

#include <online_distribution/blob/master/newbasic/packet_cdevpolarimeter.h>

+ Inheritance diagram for Packet_cdevpolarimeter:
+ Collaboration diagram for Packet_cdevpolarimeter:

Public Member Functions

 Packet_cdevpolarimeter (PACKET_ptr)
 
double dValue (const int channel, const char *what)
 
float rValue (const int channel, const char *what)
 
int iValue (const int channel, const char *what)
 
void dump (OSTREAM &)
 
- Public Member Functions inherited from Packet_w4
 Packet_w4 ()
 
 Packet_w4 (PACKET_ptr)
 
void dump (OSTREAM &)
 
void gdump (const int how=EVT_HEXADECIMAL, OSTREAM &=COUT) const
 
- Public Member Functions inherited from Packet_A
 Packet_A (PACKET_ptr packet_ptr)
 
 Packet_A ()
 
 ~Packet_A ()
 
int getLength () const
 
int getErrorLength () const
 
int getDebugLength () const
 get the length of the debug block
 
int getIdentifier () const
 get the packet identifier
 
int getPadding () const
 get the number of padding units in the packet data.
 
int getStructure () const
 get the structure of the packet data; unformatted, hitlist, etc.
 
int getHitFormat () const
 get the hit format; in case of unformatted get the encoding scheme.
 
int getDataLength () const
 get what the name says...
 
void identify (OSTREAM &=COUT) const
 
void fullIdentify (OSTREAM &=COUT) const
 
void dumpErrorBlock (OSTREAM &=COUT)
 
void dumpDebugBlock (OSTREAM &=COUT)
 
int iValue (const int)
 iValue returns the value of a given channel as an int.
 
int iValue (const int, const int)
 
int iValue (const int, const int, const char *)
 
int iValue (const int channel, const int iy, const int iz)
 
int iValue (const int channel, const int iy, const int iz, const char *what)
 
float rValue (const int)
 
float rValue (const int, const int)
 
int getArraylength (const char *)
 
int fillIntArray (int[], const int, int *, const char *what="")
 
int fillFloatArray (float[], const int, int *, const char *what="")
 fillFloatArray fills an array of floats
 
int * getIntArray (int *, const char *what="")
 
float * getFloatArray (int *, const char *what="")
 getFloatArray creates and returns an array of floats
 
virtual int is_pointer_type () const
 find out what type (pointer- or data based) packet object we have
 
virtual int convert ()
 convert from pointer- to data based object, if it is already data-based, do nothing.
 
int getCheckSumStatus () const
 
int copyMe (int dest[], const int maxlength) const
 
int setInternalParameter (const int p1=0, const int p2=0, const char *what="")
 
- Public Member Functions inherited from Packet
virtual ~Packet ()
 the virtual destructor
 
virtual double dValue (const int channel)
 
virtual double dValue (const int channel, const int iy)
 
virtual long long lValue (const int channel)
 
virtual long long lValue (const int channel, const char *what)
 
virtual long long lValue (const int channel, const int iy)
 
virtual void * pValue (const int chan)
 
virtual void * pValue (const int chan, const char *what)
 
virtual void * pValue (const int chan, const int iy)
 
virtual void identify (std::ostream &os=std::cout) const =0
 see below for comments
 
virtual void fullIdentify (std::ostream &os=std::cout) const
 write an indepth identification message to the supplied OSTREAM.
 
virtual void dump (std::ostream &os=std::cout)=0
 
virtual void gdump (const int how=EVT_HEXADECIMAL, std::ostream &os=std::cout) const =0
 

Protected Member Functions

virtual int * decode (int *)
 
- Protected Member Functions inherited from Packet_w4
int * decode (int *)
 
- Protected Member Functions inherited from Packet_A
int standardIntArray (int[], const int, int *, const char *what="")
 

Protected Attributes

struct cdevPolarimeterDataps
 
int haspoldata
 

Additional Inherited Members

- Static Protected Member Functions inherited from Packet_A
static void fix_endianess (long long *x)
 
static void fix_endianess (double *x)
 
static void fix_endianess (char *str, const int length)
 

Detailed Description

This is the packet decoding the CDEV polarimeter data. It inherits from Packet_w4 because the data are 32bit entities.

Definition at line 11 of file packet_cdevpolarimeter.h.

View newest version in sPHENIX GitHub at line 11 of file packet_cdevpolarimeter.h

Constructor & Destructor Documentation

Packet_cdevpolarimeter::Packet_cdevpolarimeter ( PACKET_ptr  data)

Definition at line 4 of file packet_cdevpolarimeter.cc.

View newest version in sPHENIX GitHub at line 4 of file packet_cdevpolarimeter.cc

References haspoldata, and ps.

Member Function Documentation

int * Packet_cdevpolarimeter::decode ( int *  nwout)
protectedvirtual

Implements Packet_A.

Definition at line 11 of file packet_cdevpolarimeter.cc.

View newest version in sPHENIX GitHub at line 11 of file packet_cdevpolarimeter.cc

References findPacketDataStart(), Packet_A::getHitFormat(), haspoldata, IDCDEVPOLARIMETER, IDCDEVPOLARIMETERZ, k, Packet_A::packet, and ps.

Referenced by dump(), dValue(), iValue(), and rValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Packet_cdevpolarimeter::dump ( OSTREAM os)

Definition at line 75 of file packet_cdevpolarimeter.cc.

View newest version in sPHENIX GitHub at line 75 of file packet_cdevpolarimeter.cc

References cdevPolarimeterData::analyzingPowerErrorS, cdevPolarimeterData::analyzingPowerS, cdevPolarimeterData::avgAsymErrorX45S, cdevPolarimeterData::avgAsymErrorX90S, cdevPolarimeterData::avgAsymErrorXS, cdevPolarimeterData::avgAsymErrorYS, cdevPolarimeterData::avgAsymX45S, cdevPolarimeterData::avgAsymX90S, cdevPolarimeterData::avgAsymXS, cdevPolarimeterData::avgAsymYS, cdevPolarimeterData::beamEnergyS, cdevPolarimeterData::bunchAsymErrorXS, cdevPolarimeterData::bunchAsymErrorYS, cdevPolarimeterData::countsDownLeftS, cdevPolarimeterData::countsDownRightS, cdevPolarimeterData::countsLeftS, cdevPolarimeterData::countsRightS, cdevPolarimeterData::countsUpLeftS, cdevPolarimeterData::countsUpRightS, cdevPolarimeterData::cutIdS, cdevPolarimeterData::daqVersionS, decode(), cdevPolarimeterData::downCountsS, Packet_A::dumpDebugBlock(), Packet_A::dumpErrorBlock(), cdevPolarimeterData::encoderPositionS, haspoldata, Packet_A::identify(), cdevPolarimeterData::m_cdevCaptureTimeStamp, cdevPolarimeterData::maxTimeS, cdevPolarimeterData::numberEventsS, cdevPolarimeterData::polarizationM, ps, cdevPolarimeterData::runIdS, rValue(), cdevPolarimeterData::startTimeS, cdevPolarimeterData::statusS, cdevPolarimeterData::statusStringS, cdevPolarimeterData::stopTimeS, cdevPolarimeterData::targetIdS, cdevPolarimeterData::totalCountsS, cdevPolarimeterData::unpolCountsS, and cdevPolarimeterData::upCountsS.

+ Here is the call graph for this function:

double Packet_cdevpolarimeter::dValue ( const int  channel,
const char *  what 
)
virtual

Because the polarimeter data are a mixture of all kind of data, the only supported interface is the {verbatim} packet->rValue(i,"WHAT") {verbatim} call, which returns a float value (most of the parameters are delivered as floats from RHIC).

As a rule of thumb, if a field is just a single value, such as "avgAsymXS", then the "i" parameter is ignored, so just p->rValue(0,"avgAsymXS") will do.

For the arrays, such as "encoderPositionS" (array of 2) or "bunchAsymXS" (array of 360), the index has to be in the right range, 0 or 1, or 0<= i < 360, respectively.

If an array is out of bounds, or the keyword is not recognized, the call returns 0.

Here are the keywords, which are just the (somewhat cryptic at times) names of the fields assigned by CA:

{verbatim}

"m_cdevCaptureTimeStamp" "runIdS" "startTimeS" "stopTimeS" "encoderPositionS" (array of 2) "statusS" "totalCountsS" "upCountsS" "downCountsS" "unpolCountsS" "avgAsymXS" "avgAsymX45S" "avgAsymX90S" "avgAsymYS" "avgAsymErrorXS" "avgAsymErrorX45S" "avgAsymErrorX90S" "avgAsymErrorYS" "beamEnergyS" "analyzingPowerS" "analyzingPowerErrorS" "numberEventsS" "maxTimeS" "polarizationM" "bunchAsymXS" (array of 360) "bunchAsymYS" (array of 360) "bunchAsymErrorXS" (array of 360) "bunchAsymErrorYS" (array of 360) "countsUpLeftS" (array of 360) "countsLeftS" (array of 360) "countsDownLeftS" (array of 360) "countsDownRightS" (array of 360) "countsRightS" (array of 360) "countsUpRightS" (array of 360) {verbatim}

Reimplemented from Packet.

Definition at line 303 of file packet_cdevpolarimeter.cc.

View newest version in sPHENIX GitHub at line 303 of file packet_cdevpolarimeter.cc

References decode(), ps, and cdevPolarimeterData::runIdS.

+ Here is the call graph for this function:

int Packet_cdevpolarimeter::iValue ( const int  channel,
const char *  what 
)
virtual
float Packet_cdevpolarimeter::rValue ( const int  channel,
const char *  what 
)
virtual

with the "what" parameter you can decide which aspect of the data you want to see (for devices which have more than one)

Reimplemented from Packet_A.

Definition at line 247 of file packet_cdevpolarimeter.cc.

View newest version in sPHENIX GitHub at line 247 of file packet_cdevpolarimeter.cc

References cdevPolarimeterData::analyzingPowerErrorS, cdevPolarimeterData::analyzingPowerS, cdevPolarimeterData::avgAsymErrorX45S, cdevPolarimeterData::avgAsymErrorX90S, cdevPolarimeterData::avgAsymErrorXS, cdevPolarimeterData::avgAsymErrorYS, cdevPolarimeterData::avgAsymX45S, cdevPolarimeterData::avgAsymX90S, cdevPolarimeterData::avgAsymXS, cdevPolarimeterData::avgAsymYS, cdevPolarimeterData::beamEnergyS, cdevPolarimeterData::bunchAsymErrorXS, cdevPolarimeterData::bunchAsymErrorYS, cdevPolarimeterData::bunchAsymXS, cdevPolarimeterData::bunchAsymYS, decode(), haspoldata, cdevPolarimeterData::polarizationM, and ps.

Referenced by dump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

int Packet_cdevpolarimeter::haspoldata
protected

Definition at line 92 of file packet_cdevpolarimeter.h.

View newest version in sPHENIX GitHub at line 92 of file packet_cdevpolarimeter.h

Referenced by decode(), dump(), Packet_cdevpolarimeter(), and rValue().

struct cdevPolarimeterData* Packet_cdevpolarimeter::ps
protected

Definition at line 91 of file packet_cdevpolarimeter.h.

View newest version in sPHENIX GitHub at line 91 of file packet_cdevpolarimeter.h

Referenced by decode(), dump(), dValue(), iValue(), Packet_cdevpolarimeter(), and rValue().


The documentation for this class was generated from the following files: