ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/*

 

Patch object implementation: one patch is made of subregions (Olivier's nomenclature)
Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
*/

#include "AliEMCALTriggerPatch.h"
#include "AliLog.h"

ClassImp(AliEMCALTriggerPatch)

//____________
AliEMCALTriggerPatch::AliEMCALTriggerPatch() : TObject(),
fPosition(0x0),
fSum(0),
fTime(0),
fPeaks(0)
{
	// Default constructor
}

//____________
AliEMCALTriggerPatch::AliEMCALTriggerPatch(Int_t i, Int_t j,  Int_t k, Int_t l) : TObject(),
fPosition(new TVector2(i, j)),
fSum(k),
fTime(l),
fPeaks(0)
{
	//
}

//____________________________________________________________________
AliEMCALTriggerPatch::AliEMCALTriggerPatch(const AliEMCALTriggerPatch& other) : TObject(other), 
fPosition(new TVector2(*other.fPosition)),
fSum(other.fSum),
fTime(other.fTime),
fPeaks(other.fPeaks)
{	
	// Copy ctor
}

//____________
AliEMCALTriggerPatch::~AliEMCALTriggerPatch()
{	
	//
	if (fPosition) delete fPosition;
}

//____________
void AliEMCALTriggerPatch::SetPeak(Int_t x, Int_t y, Int_t sizeX, Int_t sizeY)
{
	//
	if (sizeX * sizeY > 31) AliError("32b limit exceeded!");
	
	fPeaks = (fPeaks | (1 << (y * sizeX + x)));
}

//____________
void AliEMCALTriggerPatch::Print(const Option_t*) const
{
	//
	printf("]> Patch at (%2d , %2d) w/ sum %3d time %2d\n",
		   (int)fPosition->X(), (int)fPosition->Y(), fSum, fTime); 
}
 AliEMCALTriggerPatch.cxx:1
 AliEMCALTriggerPatch.cxx:2
 AliEMCALTriggerPatch.cxx:3
 AliEMCALTriggerPatch.cxx:4
 AliEMCALTriggerPatch.cxx:5
 AliEMCALTriggerPatch.cxx:6
 AliEMCALTriggerPatch.cxx:7
 AliEMCALTriggerPatch.cxx:8
 AliEMCALTriggerPatch.cxx:9
 AliEMCALTriggerPatch.cxx:10
 AliEMCALTriggerPatch.cxx:11
 AliEMCALTriggerPatch.cxx:12
 AliEMCALTriggerPatch.cxx:13
 AliEMCALTriggerPatch.cxx:14
 AliEMCALTriggerPatch.cxx:15
 AliEMCALTriggerPatch.cxx:16
 AliEMCALTriggerPatch.cxx:17
 AliEMCALTriggerPatch.cxx:18
 AliEMCALTriggerPatch.cxx:19
 AliEMCALTriggerPatch.cxx:20
 AliEMCALTriggerPatch.cxx:21
 AliEMCALTriggerPatch.cxx:22
 AliEMCALTriggerPatch.cxx:23
 AliEMCALTriggerPatch.cxx:24
 AliEMCALTriggerPatch.cxx:25
 AliEMCALTriggerPatch.cxx:26
 AliEMCALTriggerPatch.cxx:27
 AliEMCALTriggerPatch.cxx:28
 AliEMCALTriggerPatch.cxx:29
 AliEMCALTriggerPatch.cxx:30
 AliEMCALTriggerPatch.cxx:31
 AliEMCALTriggerPatch.cxx:32
 AliEMCALTriggerPatch.cxx:33
 AliEMCALTriggerPatch.cxx:34
 AliEMCALTriggerPatch.cxx:35
 AliEMCALTriggerPatch.cxx:36
 AliEMCALTriggerPatch.cxx:37
 AliEMCALTriggerPatch.cxx:38
 AliEMCALTriggerPatch.cxx:39
 AliEMCALTriggerPatch.cxx:40
 AliEMCALTriggerPatch.cxx:41
 AliEMCALTriggerPatch.cxx:42
 AliEMCALTriggerPatch.cxx:43
 AliEMCALTriggerPatch.cxx:44
 AliEMCALTriggerPatch.cxx:45
 AliEMCALTriggerPatch.cxx:46
 AliEMCALTriggerPatch.cxx:47
 AliEMCALTriggerPatch.cxx:48
 AliEMCALTriggerPatch.cxx:49
 AliEMCALTriggerPatch.cxx:50
 AliEMCALTriggerPatch.cxx:51
 AliEMCALTriggerPatch.cxx:52
 AliEMCALTriggerPatch.cxx:53
 AliEMCALTriggerPatch.cxx:54
 AliEMCALTriggerPatch.cxx:55
 AliEMCALTriggerPatch.cxx:56
 AliEMCALTriggerPatch.cxx:57
 AliEMCALTriggerPatch.cxx:58
 AliEMCALTriggerPatch.cxx:59
 AliEMCALTriggerPatch.cxx:60
 AliEMCALTriggerPatch.cxx:61
 AliEMCALTriggerPatch.cxx:62
 AliEMCALTriggerPatch.cxx:63
 AliEMCALTriggerPatch.cxx:64
 AliEMCALTriggerPatch.cxx:65
 AliEMCALTriggerPatch.cxx:66
 AliEMCALTriggerPatch.cxx:67
 AliEMCALTriggerPatch.cxx:68
 AliEMCALTriggerPatch.cxx:69
 AliEMCALTriggerPatch.cxx:70
 AliEMCALTriggerPatch.cxx:71
 AliEMCALTriggerPatch.cxx:72
 AliEMCALTriggerPatch.cxx:73
 AliEMCALTriggerPatch.cxx:74
 AliEMCALTriggerPatch.cxx:75
 AliEMCALTriggerPatch.cxx:76
 AliEMCALTriggerPatch.cxx:77
 AliEMCALTriggerPatch.cxx:78
 AliEMCALTriggerPatch.cxx:79
 AliEMCALTriggerPatch.cxx:80
 AliEMCALTriggerPatch.cxx:81