]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Temporary patch to fix bug in shared
authorphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 May 2008 13:00:13 +0000 (13:00 +0000)
committerphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 May 2008 13:00:13 +0000 (13:00 +0000)
mameory handling.

HLT/PHOS/AliHLTPHOSRawAnalyzerComponent.cxx
HLT/PHOS/AliHLTPHOSRcuCellEnergyDataStruct.h
HLT/PHOS/AliHLTPHOSSharedMemoryInterface.cxx
HLT/PHOS/AliHLTPHOSValidCellDataStruct.h
HLT/PHOS/OnlineDisplay/AliHLTPHOSOnlineDisplayEventTab.cxx

index 7f0cacbb00f0763e1791495d163a006a892eb993..fb68323ca760bb686f2c4d93e65c8785c6e006ac 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-
-
-
-
 #include "AliHLTPHOSRawAnalyzer.h"
 #include "AliHLTPHOSRawAnalyzerComponent.h"
 #include "AliHLTPHOSRcuCellEnergyDataStruct.h"
@@ -240,7 +236,7 @@ AliHLTPHOSRawAnalyzerComponent::DoEvent( const AliHLTComponentEventData& evtData
          
          if((fPhosEventCount%10 ==0) && fPhosEventCount !=0)
            {
-             float percent = ((float)(100*fNCorruptedBlocks))/((float)(fNOKBlocks + fNCorruptedBlocks) );
+             //              float percent = ((float)(100*fNCorruptedBlocks))/((float)(fNOKBlocks + fNCorruptedBlocks) );
            }
          
          crazyness = fSanityInspectorPtr->CheckInsanity((const UInt_t*)fAltroDataPtr->GetData(), (const Int_t)(fAltroDataPtr->GetDataSize() - 2));
@@ -265,14 +261,15 @@ AliHLTPHOSRawAnalyzerComponent::DoEvent( const AliHLTComponentEventData& evtData
 
          baseline = 0;
 
-
          validCellPtr->fEnergy  = (float)fAnalyzerPtr->GetEnergy() - baseline;
          validCellPtr->fTime    = (float)fAnalyzerPtr->GetTiming();
          validCellPtr->fCrazyness = (int)crazyness;
          validCellPtr->fNSamples = nSamples;
          validCellPtr->fID = tmpChannelCnt;
 
-         validCellPtr->fData = rawDataBufferPos;
+         //      validCellPtr->fData = rawDataBufferPos;
+         //      validCellPtr->fDataOffset = rawDataBufferPos;
+
          const UInt_t *tmpData =  fAltroDataPtr->GetData();
          //      const int *tmpData =  fAltroDataPtr->GetData();
 
@@ -281,6 +278,7 @@ AliHLTPHOSRawAnalyzerComponent::DoEvent( const AliHLTComponentEventData& evtData
              for(int sample = 0; sample < nSamples; sample++)
                {
                  (validCellPtr->fData)[sample] = tmpData[sample] - (int)baseline;
+                 //(validCellPtr->fDataOffset)[sample] = tmpData[sample] - (int)baseline;
                }
            }
          if(fDoSelectiveReadOut)
index 9087fa2795ea531974c96ce44caaab89fbfa18f8..2a59e1cfee8623a06658541743d400b49de3cb3c 100644 (file)
@@ -33,6 +33,7 @@ struct AliHLTPHOSRcuCellEnergyDataStruct
   Int_t fAlgorithm;
   Int_t fInfo;
   AliHLTPHOSValidCellDataStruct fValidData[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
+
 };
 
 #endif
index 179d07ae6f344877f3ad2c7bc0a280dcdcf6efda..214c295adb635df0de7a061759892d47837e0d00 100644 (file)
@@ -72,14 +72,25 @@ AliHLTPHOSSharedMemoryInterface::NextChannel()
              for(Int_t gain = 0; gain < N_GAINS; gain++)
                {
                  fCurrentChannel =  &(fCellEnergiesPtr->fValidData[x][z][gain]);
+                 
                  if(fCurrentChannel->fID == fCurrentCnt)
                    {
-                     fCurrentChannel->fData = fIntPtr; 
-                     fIntPtr +=  fCurrentChannel->fNSamples;
+                     
+
+                     /*
+                       commented out by PT, temorary patc
+                       the usage of a pointer AliHLTPHOSValidCellDataStruct
+                       gives incompability between 64 and 32 bit machines.
+                       data written on a 64 bit machine cannot be read on a 32 bit machine
+                       since a pointer is 64 bit on a 64 bit machine and 32 bit on a 32 bit machine
+                       fCurrentChannel->fData = fIntPtr; 
+                       fIntPtr +=  fCurrentChannel->fNSamples;
+                     */
+                     
                      fCurrentCnt ++;
                      return fCurrentChannel;
                    }
-               }
+               }
            }
        }
     }
index 55941fa8a1ea5b0901b3506fc74cf54fdaef571c..e98f4de591d1048660be160019074de1c58c6a13 100644 (file)
 #include "AliHLTDataTypes.h"
 #include "Rtypes.h"
 
+
+
 //#define N_DATA_SAMPLES 70
 //#define N_DATA_SAMPLES 510
+#define N_DATA_SAMPLES 300
 
 struct AliHLTPHOSValidCellDataStruct
 {
   Int_t fX;
   Int_t fZ;
   Int_t fID;
+
   Int_t fGain;
   Float_t fEnergy;
   Float_t fTime;
   Int_t fCrazyness;
   Int_t fNSamples;
-  Int_t *fData;
-  //  Int_t fData[N_DATA_SAMPLES];
+
+  //  Int_t *fData;
+  //  unsigned int  fDataOffset;
+  //  Int_t *fData2;
+  
+  Int_t fData[N_DATA_SAMPLES];
+
 };
 
+
+
 #endif
 
index c163ed1cd637df8f51262b34dcf7e9800d7d64d6..8914db94fa03b012a5e1645d047a178bfc43e8a9 100644 (file)
@@ -148,6 +148,35 @@ AliHLTPHOSOnlineDisplayEventTab::ReadBlockData(AliHLTHOMERReader *homeReaderPtr)
     {
       Int_t moduleID;
       AliHLTPHOSRcuCellEnergyDataStruct* cellEnergiesPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)homeReaderPtr->GetBlockData( blk ); 
+
+      cout <<The size of   <<
+      
+
+      unsigned int *t = (unsigned int*)cellEnergiesPtr;
+      
+      for(int i = 0; i < 10000; i++)
+       {
+         printf("%f\t", (float)*t);
+         if(i%30 == 0)
+           {
+             printf("\ni = %d", i);
+           }
+         t ++;
+       }
+
+      for(int gain = 1; gain < N_GAINS; gain ++)
+       {
+         for(int x=0; x <N_XCOLUMNS_RCU; x ++ )
+           {
+             printf("\nnewline");
+             for(int z=0; z <N_ZROWS_RCU; z ++ ) 
+               {
+                 printf("%f\t",cellEnergiesPtr->fValidData[x][z][gain].fEnergy);
+           
+               }
+           }
+       }
+
       moduleID = cellEnergiesPtr->fModuleID ;
       cout << "AliHLTPHOSOnlineDisplayEventTab::ReadBlockData,  fModuleID =" <<moduleID << endl;