Chnages was necessary in this class beacause the format
authorphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 14 Feb 2007 15:38:06 +0000 (15:38 +0000)
committerphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 14 Feb 2007 15:38:06 +0000 (15:38 +0000)
of  AliHLTPHOSRcuCellEnergy struct was changed.

HLT/PHOS/AliHLTPHOSModuleMergerComponent.cxx
HLT/PHOS/AliHLTPHOSModuleMergerComponent.h

index 929d7f9e77e3dd9e944a0575fb2542b086df23f4..d3acba90849573de5e775ef7e60cfc3c68725518 100644 (file)
@@ -32,12 +32,14 @@ AliHLTPHOSModuleMergerComponent:: AliHLTPHOSModuleMergerComponent():AliHLTProces
 
 } 
 
+
 AliHLTPHOSModuleMergerComponent::~ AliHLTPHOSModuleMergerComponent()
 {
 
 }
 
-AliHLTPHOSModuleMergerComponent:: AliHLTPHOSModuleMergerComponent(const  AliHLTPHOSModuleMergerComponent & ) : AliHLTProcessor(),  fEventCount(0),  fEquippmentID(0)
+
+AliHLTPHOSModuleMergerComponent::AliHLTPHOSModuleMergerComponent(const  AliHLTPHOSModuleMergerComponent & ) : AliHLTProcessor(),  fEventCount(0),  fEquippmentID(0)
 {
 
 }
@@ -49,6 +51,7 @@ AliHLTPHOSModuleMergerComponent::Deinit()
   return 0;
 }
 
+
 int 
 AliHLTPHOSModuleMergerComponent::DoDeinit()
 {
@@ -57,31 +60,35 @@ AliHLTPHOSModuleMergerComponent::DoDeinit()
 
 }
 
+
 const char* 
 AliHLTPHOSModuleMergerComponent::GetComponentID()
 {
   return "ModuleMerger";
 }
 
+
 void
  AliHLTPHOSModuleMergerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
 {
   const AliHLTComponentDataType* pType=inputDataTypes;
-  while (pType->fID!=0) {
-    list.push_back(*pType);
-    pType++;
-  }
+  while (pType->fID!=0) 
+    {
+      list.push_back(*pType);
+      pType++;
+    }
 }
 
+
 AliHLTComponentDataType 
 AliHLTPHOSModuleMergerComponent::GetOutputDataType()
 {
   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
 }
 
+
 void
 AliHLTPHOSModuleMergerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier )
-
 {
   constBase = 30;
   inputMultiplier = 1;
@@ -92,6 +99,7 @@ int  AliHLTPHOSModuleMergerComponent::DoEvent( const AliHLTComponentEventData& e
                                              AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
                                              AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks )
 {
+  
   unsigned long ndx;
   const AliHLTComponentBlockData* iter = NULL;   
   AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr;
@@ -103,34 +111,36 @@ int  AliHLTPHOSModuleMergerComponent::DoEvent( const AliHLTComponentEventData& e
       int tmpModuleID = 0;
       int tmpRcuX = 0;
       int tmpRcuZ = 0;
-
+      int tmpCnt =  cellDataPtr->fCnt;
       iter = blocks+ndx;
       AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)( iter->fPtr);
-
       tmpModuleID = cellDataPtr->fModuleID;
       tmpRcuX     = cellDataPtr->fRcuX ;
       tmpRcuZ     = cellDataPtr->fRcuZ;
 
-      for(int row = 0; row<32; row ++)
+      for(int i= 0; i< tmpCnt; tmpCnt ++)
        {
-         for(int col = 0; col < 28; col ++)
+         if(cellDataPtr->fValidData[i].fGain == HIGH_GAIN)
+           {
+             fMaxValues[tmpModuleID][ cellDataPtr->fValidData[i].fRow +  N_ROWS_RCU*tmpRcuX][ cellDataPtr->fValidData[i].fCol + N_COLUMNS_RCU*tmpRcuZ][HIGH_GAIN] =  cellDataPtr->fValidData[i].fEnergy;
+             //   fMaxValues[0][0][0][0] = 0;
+           }
+         else if(cellDataPtr->fValidData[i].fGain == LOW_GAIN)
            {
-             for(int gain=0; gain <2; gain++)
-               {
-                 fMaxValues[tmpModuleID][row + 32*tmpRcuX][col + 28*tmpRcuZ][gain] =  cellDataPtr->fCellEnergies[row][col][gain];  
-               }         
+                  fMaxValues[tmpModuleID][ cellDataPtr->fValidData[i].fRow +  N_ROWS_RCU*tmpRcuX][ cellDataPtr->fValidData[i].fCol +N_COLUMNS_RCU*tmpRcuZ][LOW_GAIN] =  cellDataPtr->fValidData[i].fEnergy;
+             //    fMaxValues[0][0][0][0]=0;
            }
        }
-
+      
     }
 
-  DumpData();
+  DumpData(1);
   fEventCount++; 
   return 0;
+  
 }//end DoEvent
 
 
-
 int
 AliHLTPHOSModuleMergerComponent::DoInit( int argc, const char** argv )
 {
@@ -142,19 +152,34 @@ AliHLTPHOSModuleMergerComponent::DoInit( int argc, const char** argv )
   return 0;
 }
 
+
 void
-AliHLTPHOSModuleMergerComponent::DumpData()
+AliHLTPHOSModuleMergerComponent::DumpData(int gain)
 {
-  for(int mod = 0; mod <5; mod ++)
+
+  if(gain < 0 || gain >  N_GAINS)
+    {
+      cout <<"AliHLTPHOSModuleMergerComponent::DumpDat: Error, gain must be between " << 0 << "and" << N_GAINS << endl;
+    }
+  
+  for(int mod = 0; mod < N_MODULES; mod ++)
     {
-      printf("\n ***********  MODULE %d ************\n", mod);
-      for(int row = 0; row < 64; row ++)
+      if(gain == HIGH_GAIN)
        {
-         for(int col = 0; col < 56; col ++)
+         cout << endl <<" ***********  MODULE" << mod << "****HIGH_GAIN" <<"************" << endl;
+       }
+      else if(gain == LOW_GAIN)
+       {
+         cout << endl <<" ***********  MODULE" << mod << "****LOW_GAIN" <<"************" << endl;
+       }
+      
+      for(int row = 0; row < N_ROWS_MOD; row ++)
+       {
+         for(int col = 0; col < N_COLUMNS_MOD; col ++)
            {
-             if( fMaxValues[mod][row][col][0] != 0)
+                     if( fMaxValues[mod][row][col][0] != 0)
                { 
-                 cout << fMaxValues[mod][row][col][0] << "\t";
+                                 cout << fMaxValues[mod][row][col][0] << "\t";
                }
            }
        } 
@@ -162,24 +187,26 @@ AliHLTPHOSModuleMergerComponent::DumpData()
 }
 
 
+
 void
 AliHLTPHOSModuleMergerComponent::Reset()
 {
-  for(int mod = 0; mod <5; mod ++)
+  for(int mod = 0; mod < N_MODULES; mod ++)
     {
-      for(int row = 0; row < 64; row ++)
+      for(int row = 0; row <  N_ROWS_MOD; row ++)
        {
-         for(int col = 0; col < 56; col ++)
+         for(int col = 0; col < N_COLUMNS_MOD; col ++)
            {
-             for(int gain = 0; gain <2; gain ++ )
-               {
+             for(int gain = 0; gain < N_GAINS; gain ++ )
+               { 
+
                  fMaxValues[mod][row][col][gain] = 0;
                }
            }
        }
     }
 
-  for(int i = 0 ; i< 1008; i++)
+  for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
     {
       fTmpChannelData[i] = 0;
     }
@@ -188,7 +215,7 @@ AliHLTPHOSModuleMergerComponent::Reset()
 void
 AliHLTPHOSModuleMergerComponent::ResetDataPtr()
 {
-  for(int i = 0 ; i< 1008; i++)
+  for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
     {
       fTmpChannelData[i] = 0;
     }
index b1372415e14e670b17fb3bc060aaa796075cf16a..0c9ccaf59e05a80e68cf1823f08f79b0cc2c71e3 100644 (file)
@@ -6,9 +6,11 @@
 
 #include "AliHLTProcessor.h"
 #include "AliHLTPHOSDefinitions.h"
+#include "AliHLTPHOSCommonDefs.h"
 
 
-class AliHLTPHOSModuleMergerComponent: public AliHLTProcessor
+
+class AliHLTPHOSModuleMergerComponent:public AliHLTProcessor
 {
  public:
   AliHLTPHOSModuleMergerComponent();
@@ -18,42 +20,32 @@ class AliHLTPHOSModuleMergerComponent: public AliHLTProcessor
    {
       return *this;
    };
-
-
-
   virtual int DoInit( int argc, const char** argv );
   virtual int Deinit();
   virtual int DoDeinit();
-  void DumpData();
-  void SetEquippmentId(int id);
 int GetEquippmentId();
-  //  virtual const char* GetComponentID() = 0;
 virtual const char* GetComponentID();
-
 virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
+  virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
+  
void DumpData(int gain);
int GetEquippmentId();
+ virtual const char* GetComponentID();
+ virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
   virtual AliHLTComponentDataType GetOutputDataType();
   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
-  //  virtual AliHLTComponent* Spawn() = 0;
-
-  virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
+  void SetEquippmentId(int id);
   virtual AliHLTComponent* Spawn();
+
  protected:
-  //  AliHLTPHOSRawAnalyzer *analyzerPtr; 
   void Reset();
   void ResetDataPtr();
 
  private:
   int fEventCount;
   AliHLTUInt32_t fEquippmentID;
-  Double_t fTmpChannelData[1008];
-  Double_t fMaxValues[5][64][56][2];
-  //  TH2S *legoPlotPtr;
-
-  //  AliCaloRawStream *fPHOSRawStream;
-  //  AliRawReaderMemory *fRawMemoryReader;
+  Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];
+  Double_t fMaxValues[N_MODULES][N_ROWS_MOD][N_COLUMNS_MOD][N_GAINS];
   static const AliHLTComponentDataType inputDataTypes[];
   static const AliHLTComponentDataType outputDataType;
-  
 };
 
 #endif