#include "AliEMCALTriggerBoard.h"
#include "AliEMCALTriggerPatch.h"
+#include "AliLog.h"
#include <TClonesArray.h>
-
#include <iostream>
#include <cstdlib>
fRegionSize(0x0),
fSubRegionSize(0x0),
fPatchSize(0x0),
-fPatches( new TClonesArray("AliEMCALTriggerPatch",10) )
+fPatches(0x0)
{
}
fPatchSize( new TVector2() ),
fPatches( new TClonesArray("AliEMCALTriggerPatch",10) )
{
+ // Ctor
+
fRegion = (int**)malloc( (int)fRegionSize->X() * sizeof( int* ) );
if (!fRegion) printf("Error: malloc could not allocate %d bytes for fRegion\n",
//_______________
AliEMCALTriggerBoard::~AliEMCALTriggerBoard()
{
+ // Dtor
+
for (Int_t i=0;i<fRegionSize->X();i++)
{
if (fRegion[i]) {free(fRegion[i]); fRegion[i] = 0;}
//_______________
void AliEMCALTriggerBoard::ZeroRegion()
{
- //
- for (Int_t i=0;i<int(fRegionSize->X());i++) for (Int_t j=0;j<int(fRegionSize->Y());j++) fRegion[i][j] = 0;
+ // Initilize fRegion
+
+ if(fRegion){
+ for (Int_t i=0;i<int(fRegionSize->X());i++) for (Int_t j=0;j<int(fRegionSize->Y());j++) fRegion[i][j] = 0;
+ }
+ else {
+ AliFatal("fRegion was not previously initialized");
+ }
+
}
//_______________
-void AliEMCALTriggerBoard::SlidingWindow(TriggerType_t /*type*/, Int_t thres, Int_t time)
+void AliEMCALTriggerBoard::SlidingWindow(TriggerType_t type, Int_t thres, Int_t time)
{
- //
+ // Sliding window
+
Int_t ipatch = 0;
for (Int_t i=0; i<=int(fRegionSize->X()-fPatchSize->X()*fSubRegionSize->X()); i+=int(fSubRegionSize->X()))
if ( sum > thres )
{
- //if ( type == kJet ) sum /= 4; // truncate patch sum for jet case
-
new((*fPatches)[fPatches->GetLast()+1])
AliEMCALTriggerPatch(int(i/fSubRegionSize->X()), int(j/fSubRegionSize->Y()), int(sum), time);
}
//__________
void AliEMCALTriggerBoard::Scan()
{
- //
+ // Dump
+
cout << " ";
for (Int_t i=0; i<int(fRegionSize->X()); i++) printf("%8d ",i);
cout << "\n";