00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <assert.h>
00026
00027 #include "StDaqLib/GENERIC/swaps.hh"
00028 #include "TPCV1P0.Banks.hh"
00029
00030 using namespace OLDEVP;
00031
00032 int classname(Bank_TPCRBP)::swap()
00033 {
00034
00035 int words = header.BankLength;
00036 int iret = swap_raw(header.ByteOrder,&words,1);
00037
00038
00039 if(!iret) return(0);
00040
00041 if(iret < 0) return iret;
00042
00043
00044 iret = swap_raw(header.ByteOrder,(INT32 *)Mz,sizeof(Mz)/4);
00045 assert(iret > 0);
00046
00047
00048 iret = header.swap();
00049
00050 return iret;
00051 }
00052
00053 int classname(Bank_TPCADCD)::swap()
00054 {
00055 return header.swap();
00056 }
00057
00058 int classname(Bank_TPCADCR)::swap()
00059 {
00060 return header.swap();
00061 }
00062
00063 int classname(Bank_TPCPADK)::swap()
00064 {
00065
00066 int words = header.BankLength;
00067 int iret = swap_raw(header.ByteOrder,&words,1);
00068
00069 if(!iret) return 0;
00070 if(iret < 0) return iret;
00071
00072
00073 iret = swap_raw(header.ByteOrder,&bpADC,6);
00074 assert(iret>0);
00075
00076
00077 return header.swap();
00078 }
00079
00080 int classname(Bank_TPCCPPR)::swap()
00081 {
00082
00083 int words = header.BankLength;
00084 int iret = swap_raw(header.ByteOrder,&words,1);
00085
00086 if(!iret) return 0;
00087 if(iret<0) return iret;
00088
00089
00090 iret = swap_short(header.ByteOrder,(INT32 *)entry,12288);
00091 assert(iret>0);
00092
00093
00094 return header.swap();
00095 }
00096
00097 int classname(Bank_TPCSEQD)::swap()
00098 {
00099 int words = header.BankLength;
00100 int iret = swap_raw(header.ByteOrder,&words,1);
00101
00102 if(!iret) return 0;
00103 if(iret < 0) return iret;
00104
00105 words -= (sizeof(header)/4);
00106 swap_short(header.ByteOrder,(INT32 *)sequence,words);
00107 assert(iret>0);
00108
00109 iret = header.swap();
00110 return iret;
00111 }
00112
00113 int classname(Bank_TPCCFGR)::swap()
00114 {
00115 return header.swap();
00116 }
00117
00118 int classname(Bank_TPCBADR)::swap()
00119 {
00120 return header.swap();
00121 }
00122
00123 int classname(Bank_TPCPEDR)::swap()
00124 {
00125 int iret = swap_raw(header.ByteOrder,&NumEvents,1);
00126 if(iret <= 0) return iret;
00127
00128 return header.swap();
00129 }
00130
00131 int classname(Bank_TPCRMSR)::swap()
00132 {
00133 int iret = swap_raw(header.ByteOrder,&NumEvents,1);
00134 if(iret <= 0) return iret;
00135
00136 return header.swap();
00137 }
00138
00139 int classname(Bank_TPCGAINR)::swap()
00140 {
00141 int iret = swap_raw(header.ByteOrder,&NumEvents,2);
00142 if(iret <= 0) return iret;
00143
00144
00145
00146 if(iret != 1) return -1;
00147
00148
00149
00150
00151
00152 iret = header.swap();
00153 assert(iret == 1);
00154
00155 char *curr = (char *)Gain;
00156 for(int i = 0; i < TPC_MZPADS; i++)
00157 {
00158 char temp=curr[0];
00159 curr[0] = curr[1];
00160 curr[1] = temp;
00161 curr += 4;
00162 }
00163 return iret;
00164 }
00165
00166
00167
00168
00169
00170