Index: trunk/FACT++/src/HeadersFAD.h
===================================================================
--- trunk/FACT++/src/HeadersFAD.h	(revision 12494)
+++ trunk/FACT++/src/HeadersFAD.h	(revision 12495)
@@ -213,40 +213,13 @@
             ntohcpy(vec, *this);
 
-            Reverse(((uint16_t*)fEventCounter));
-            Reverse(((uint16_t*)fEventCounter)+1);
-
             Reverse(&fEventCounter);
-
-	    Reverse(((uint16_t*)fTriggerCounter));
-            Reverse(((uint16_t*)fTriggerCounter)+1);
-
             Reverse(&fTriggerCounter);
-
-            Reverse(((uint16_t*)fFreqRefClock));
-            Reverse(((uint16_t*)fFreqRefClock)+1);
-
             Reverse(&fFreqRefClock);
-
-            Reverse(((uint16_t*)&fTimeStamp));
-            Reverse(((uint16_t*)&fTimeStamp)+1);
-
             Reverse(&fTimeStamp);
-
-            Reverse(((uint16_t*)&fRunNumber));
-            Reverse(((uint16_t*)&fRunNumber)+1);
-
             Reverse(&fRunNumber);
-            Reverse(&fDNA);
-
-            /*
-            for (int i=0; i<kNumTemp; i++)
-            {
-                fTempDrs[i] =
-                    (fTempDrs[i]&0x8000) ?
-                    ((fTempDrs[i]&0x007fff)^0xffffffff) :
-                    (fTempDrs[i]&0x007fff);
-                fTempDrs[i]>>=3;
-            }*/
-
+
+            for (int i=0; i<8; i+=2)
+                std::swap(reinterpret_cast<uint8_t*>(&fDNA)[i],
+                          reinterpret_cast<uint8_t*>(&fDNA)[i+1]);
         }
 
@@ -255,33 +228,12 @@
             EventHeader h(*this);
 
-            Reverse(((uint16_t*)h.fEventCounter));
-            Reverse(((uint16_t*)h.fEventCounter)+1);
-
             Reverse(&h.fEventCounter);
-
-            Reverse(((uint16_t*)h.fFreqRefClock));
-            Reverse(((uint16_t*)h.fFreqRefClock)+1);
-
             Reverse(&h.fFreqRefClock);
-
-            Reverse(((uint16_t*)&h.fTimeStamp));
-            Reverse(((uint16_t*)&h.fTimeStamp)+1);
-
             Reverse(&h.fTimeStamp);
-
-            Reverse(((uint16_t*)&h.fRunNumber));
-            Reverse(((uint16_t*)&h.fRunNumber)+1);
-
             Reverse(&h.fRunNumber);
-            Reverse(&h.fDNA);
-
-            /*
-            for (int i=0; i<kNumTemp; i++)
-            {
-                h.fTempDrs[i] <<= 3;
-                h.fTempDrs[i] = ((h.fTempDrs[i]&0x800000) ?
-                               (((h.fTempDrs[i]^0xffffffff)&0x007fff)|0x8000) :
-                               (h.fTempDrs[i]&0x007fff));
-            }*/
+
+            for (int i=0; i<8; i+=2)
+                std::swap(reinterpret_cast<uint8_t*>(&h.fDNA)[i],
+                          reinterpret_cast<uint8_t*>(&h.fDNA)[i+1]);
 
             return htoncpy(h);
@@ -301,11 +253,4 @@
 
         float GetTemp(int i) const { return fTempDrs[i]/16.; }
-
-        /*
-        float GetTemp(int i) const
-        {
-            return (((fTempDrs[i]&0x8000) ?
-                     ((fTempDrs[i]&0x007fff)^0xffffffff)
-                     : (fTempDrs[i]&0x007fff))>>3)/16.; }*/
 
         uint8_t PLLLCK() const         { return fStatus>>12; }
