]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSRcuHistogramProducerComponent.cxx
removing the HLT autoconf build system, however keep on using that for the
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuHistogramProducerComponent.cxx
index 1e0147a16a88293ba621418947d710260b6ff0be..473095fe6bb5a7cf4bfad872f2b29dc289e90440 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 /**************************************************************************
  * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved.      *
  *                                                                        *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-#include "AliHLTPHOSRcuCellEnergyDataStruct.h"
+//#include "AliHLTPHOSRcuCellEnergyDataStruct.h"
 #include "AliHLTPHOSRcuHistogramProducer.h"
 #include "AliHLTPHOSRcuHistogramProducerComponent.h"
 #include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
-#include "AliHLTPHOSSharedMemoryInterface.h"
-#include "AliHLTPHOSValidCellDataStruct.h" 
+#include "AliHLTPHOSSharedMemoryInterfacev2.h"
+#include "AliHLTPHOSChannelDataHeaderStruct.h"
+#include "AliHLTPHOSChannelDataStruct.h"
+
 
 AliHLTPHOSRcuHistogramProducerComponent gAliHLTPHOSRcuHistogramProducerComponent;
 /*************************************************************************
@@ -35,7 +39,7 @@ AliHLTPHOSRcuHistogramProducerComponent:: AliHLTPHOSRcuHistogramProducerComponen
                                                                                      fOutPtr(0),
                                                                                      fShmPtr(0)
 {
-  fShmPtr = new AliHLTPHOSSharedMemoryInterface();
+  fShmPtr = new AliHLTPHOSSharedMemoryInterfacev2();
  //Default constructor
 } 
 
@@ -51,7 +55,9 @@ AliHLTPHOSRcuHistogramProducerComponent::Deinit()
 {
   //See html documentation of base class
   cout << "AliHLTPHOSRcuHistogramProducerComponent::Deinit()" << endl;
-  fRcuHistoProducerPtr->WriteAllHistograms("recreate");
+  char* arg = new char[9];
+  sprintf(arg, "recreate");
+  fRcuHistoProducerPtr->WriteAllHistograms(arg);
   return 0;
 }
 
@@ -95,11 +101,15 @@ AliHLTPHOSRcuHistogramProducerComponent::GetOutputDataSize(unsigned long& constB
 
 
 
-int  AliHLTPHOSRcuHistogramProducerComponent::DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks
-                                             AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr
-                                             AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks )
+int  AliHLTPHOSRcuHistogramProducerComponent::DoEvent( const AliHLTComponentEventData& /*evtData*/, const AliHLTComponentBlockData* /*blocks*/
+                                                      AliHLTComponentTriggerData& /*trigData*/, AliHLTUInt8_t* /*outputPtr*/
+                                                      AliHLTUInt32_t& /*size*/, vector<AliHLTComponentBlockData>& /*outputBlocks*/ )
 {
-  //See html documentation of base class
+  /*
+  
+  cout <<  "  AliHLTPHOSRcuHistogramProducerComponent::Doevent, entering event loop" << endl;
+
+ //See html documentation of base class
  
   // trigData++;
   // trigData--; //shutting up the compiler, we dont use trigData now but will do in near future
@@ -108,32 +118,52 @@ int  AliHLTPHOSRcuHistogramProducerComponent::DoEvent( const AliHLTComponentEven
   trDta.fDataSize++;
   trDta.fDataSize--; //shutting up the compiler, we dont use trigData now but will do in near future
 
-  AliHLTPHOSValidCellDataStruct *currentChannel =0;
+  // AliHLTPHOSValidCellDataStruct *currentChannel =0;
+  AliHLTPHOSChannelDataStruct  *currentChannel =0;
+   
   unsigned long ndx       = 0;
   UInt_t offset           = 0; 
   UInt_t mysize           = 0;
   UInt_t tSize            = 0;
   const AliHLTComponentBlockData* iter = NULL;   
+
   AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr;
   AliHLTUInt8_t* outBPtr;
 
   for( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
     {
+      cout <<  "  AliHLTPHOSRcuHistogramProducerComponent::DoEvent, recieved block" << endl;
       iter = blocks+ndx;
       if(iter->fDataType != AliHLTPHOSDefinitions::fgkCellEnergyDataType)
        {
+         cout <<  "  AliHLTPHOSRcuHistogramProducerComponent::DoEvent, recieved block of wrong type" << endl;
+         cout << "evtData.fSize ="  << evtData.fStructSize  <<  "evtData.fBlockCnt =" << evtData.fBlockCnt   <<endl ;
+
          continue;
        }
       
-      cellDataPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)( iter->fPtr);
+      cellDataPtr = (AliHLTPHOSChannelDataStruct*)( iter->fPtr);
       fShmPtr->SetMemory(cellDataPtr);
       currentChannel = fShmPtr->NextChannel();
-
-      while(currentChannel != 0)
+      
+      Int_t* tmpDataPtr = 0;
+      Int_t nSamples = 0;
+      if(cellDataPtr->fHasRawData == true)
+       {
+         while(currentChannel != 0)
+           {
+             tmpDataPtr = fShmPtr->GetRawData(nSamples);
+             fRcuHistoProducerPtr->FillEnergy(currentChannel->fX, currentChannel->fZ, currentChannel->fGain, currentChannel->fEnergy);
+             fRcuHistoProducerPtr->FillLiveChannels(tmpDataPtr, nSamples, currentChannel->fX, currentChannel->fZ,currentChannel->fGain);
+             currentChannel = fShmPtr->NextChannel();
+           }
+       }
+      else
        {
-         fRcuHistoProducerPtr->FillEnergy(currentChannel->fX, currentChannel->fZ, currentChannel->fGain, currentChannel->fEnergy);
-         fRcuHistoProducerPtr->FillLiveChannels(currentChannel->fData, fNTotalSamples, currentChannel->fX, currentChannel->fZ,currentChannel->fGain);
-         currentChannel = fShmPtr->NextChannel();
+         
+         Logging(kHLTLogFatal, __FILE__ , IntToChar(  __LINE__ ) , "AliHLTPHOSRcuHistogramProducerComponent::We are not pushing raw data, aborting");
+         return -1;
        }
     }
 
@@ -144,11 +174,11 @@ int  AliHLTPHOSRcuHistogramProducerComponent::DoEvent( const AliHLTComponentEven
   fOutPtr->fRcuX     = fRcuX;
   fOutPtr->fRcuZ     = fRcuZ;
 
-  for(int x=0; x < N_XCOLUMNS_RCU; x ++)
+  for(int x=0; x < NXCOLUMNSRCU; x ++)
     {
-      for(int z=0; z < N_ZROWS_RCU; z ++)
+      for(int z=0; z < NZROWSRCU; z ++)
        {
-         for(int gain =0;  gain < N_GAINS; gain ++)
+         for(int gain =0;  gain < NGAINS; gain ++)
            {
              fOutPtr->fAccumulatedEnergies[x][z][gain] = innPtr.fAccumulatedEnergies[x][z][gain];
              fOutPtr->fHits[x][z][gain] = innPtr.fHits[x][z][gain];
@@ -180,27 +210,40 @@ int  AliHLTPHOSRcuHistogramProducerComponent::DoEvent( const AliHLTComponentEven
 
   if( (fPhosEventCount%fHistoWriteFrequency == 0) &&  ( fPhosEventCount != 0))
     {
-      fRcuHistoProducerPtr->WriteAllHistograms("recreate");
+      char* arg = new char[9];
+      sprintf(arg, "recreate");
+      fRcuHistoProducerPtr->WriteAllHistograms(arg);
     }
   return 0;
+
+  */
+  return 0;
 }//end DoEvent
 
 
 int
-AliHLTPHOSRcuHistogramProducerComponent::DoInit( int argc, const char** argv )
+AliHLTPHOSRcuHistogramProducerComponent::DoInit( int /*argc*/, const char** /*argv*/ )
 {
   //See html documentation of base class
-  fPrintInfo = kFALSE;
+  //  fPrintInfo = kFALSE;
   int iResult=0;
   TString argument="";
-  iResult = ScanArguments(argc, argv);
+  // iResult = ScanArguments(argc, argv);
+
+  /*
   if(fIsSetEquippmentID == kFALSE)
     {
       Logging( kHLTLogFatal, "HLT::AliHLTPHOSRcuHistogramProducerComponent::DoInt( int argc, const char** argv )", "Missing argument",
               "The argument equippmentID is not set: set it with a component argumet like this: -equippmentID  <number>");
       iResult = -2; 
     }
-  fRcuHistoProducerPtr = new AliHLTPHOSRcuHistogramProducer( fModuleID, fRcuX, fRcuZ);
+  */
+
+  
+  //fRcuHistoProducerPtr = new AliHLTPHOSRcuHistogramProducer( fModuleID, fRcuX, fRcuZ);
+
   return iResult; 
   
 }