#include <TGeoBBox.h>
#include "AliEMCALGeometry.h"
#include "AliEveEMCALSModuleData.h"
class Riostream;
class TClonesArray;
class TGeoNode;
class TGeoMatrix;
class TVector2;
class AliEveEventManager;
ClassImp(AliEveEMCALSModuleData)
Float_t AliEveEMCALSModuleData::fgSModuleBigBox0 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleBigBox1 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleBigBox2 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleSmallBox0 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleSmallBox1 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleSmallBox2 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleCenter0 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleCenter1 = 0.;
Float_t AliEveEMCALSModuleData::fgSModuleCenter2 = 0.;
AliEveEMCALSModuleData::AliEveEMCALSModuleData(Int_t sm,AliEMCALGeometry* geom, TGeoNode* node, TGeoHMatrix* m) :
TObject(),
fGeom(geom),
fNode(node),
fSmId(sm),
fNsm(0),
fNsmfull(0),
fNsmhalf(0),
fNDigits(0),
fNClusters(0),
fNHits(0),
fPhiTileSize(0), fEtaTileSize(0),
fHitArray(0),
fDigitArray(0),
fClusterArray(0),
fMatrix(0),
fHMatrix(m)
{
Init(sm);
}
AliEveEMCALSModuleData::AliEveEMCALSModuleData(const AliEveEMCALSModuleData &esmdata) :
TObject(),
fGeom(esmdata.fGeom),
fNode(esmdata.fNode),
fSmId(esmdata.fSmId),
fNsm(esmdata.fNsm),
fNsmfull(esmdata.fNsmfull),
fNsmhalf(esmdata.fNsmhalf),
fNDigits(esmdata.fNDigits),
fNClusters(esmdata.fNClusters),
fNHits(esmdata.fNHits),
fPhiTileSize(esmdata.fPhiTileSize), fEtaTileSize(esmdata.fEtaTileSize),
fHitArray(esmdata.fHitArray),
fDigitArray(esmdata.fDigitArray),
fClusterArray(esmdata.fClusterArray),
fMatrix(esmdata.fMatrix),
fHMatrix(esmdata.fHMatrix)
{
Init(esmdata.fNsm);
}
AliEveEMCALSModuleData::~AliEveEMCALSModuleData()
{
if(!fHitArray.empty()){
fHitArray.clear();
}
if(!fDigitArray.empty()){
fDigitArray.clear();
}
if(!fClusterArray.empty()){
fClusterArray.clear();
}
}
void AliEveEMCALSModuleData::DropData()
{
fNDigits = 0;
fNClusters = 0;
fNHits = 0;
if(!fHitArray.empty())
fHitArray.clear();
if(!fDigitArray.empty())
fDigitArray.clear();
if(!fClusterArray.empty())
fClusterArray.clear();
return;
}
void AliEveEMCALSModuleData::Init(Int_t sm)
{
fNsm = 12;
fNsmfull = 10;
fNsmhalf = 2;
fPhiTileSize = fGeom->GetPhiTileSize();
fEtaTileSize = fGeom->GetPhiTileSize();
TGeoBBox* bbbox = (TGeoBBox*) fNode->GetDaughter(0) ->GetVolume()->GetShape();
TGeoBBox* sbbox = (TGeoBBox*) fNode->GetDaughter(10)->GetVolume()->GetShape();
fMatrix = (TGeoMatrix*) fNode->GetDaughter(sm)->GetMatrix();
if(sm<fNsmfull)
{
fgSModuleBigBox0 = bbbox->GetDX();
fgSModuleBigBox1 = bbbox->GetDY();
fgSModuleBigBox2 = bbbox->GetDZ();
}
else
{
fgSModuleSmallBox0 = sbbox->GetDX();
fgSModuleSmallBox1 = sbbox->GetDY();
fgSModuleSmallBox2 = sbbox->GetDZ();
}
}
void AliEveEMCALSModuleData::RegisterDigit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz)
{
std::vector<Double_t> bufDig(6);
bufDig[0] = AbsId;
bufDig[1] = isupMod;
bufDig[2] = iamp;
bufDig[3] = ix;
bufDig[4] = iy;
bufDig[5] = iz;
fDigitArray.push_back(bufDig);
fNDigits++;
}
void AliEveEMCALSModuleData::RegisterHit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz)
{
std::vector<Float_t> bufHit(6);
bufHit[0] = AbsId;
bufHit[1] = isupMod;
bufHit[2] = iamp;
bufHit[3] = ix;
bufHit[4] = iy;
bufHit[5] = iz;
fHitArray.push_back(bufHit);
fNHits++;
}
void AliEveEMCALSModuleData::RegisterCluster(Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz)
{
std::vector<Double_t> bufClu(5);
bufClu[0] = isupMod;
bufClu[1] = iamp;
bufClu[2] = ix;
bufClu[3] = iy;
bufClu[4] = iz;
fClusterArray.push_back(bufClu);
fNClusters++;
}
AliEveEMCALSModuleData.cxx:1 AliEveEMCALSModuleData.cxx:2 AliEveEMCALSModuleData.cxx:3 AliEveEMCALSModuleData.cxx:4 AliEveEMCALSModuleData.cxx:5 AliEveEMCALSModuleData.cxx:6 AliEveEMCALSModuleData.cxx:7 AliEveEMCALSModuleData.cxx:8 AliEveEMCALSModuleData.cxx:9 AliEveEMCALSModuleData.cxx:10 AliEveEMCALSModuleData.cxx:11 AliEveEMCALSModuleData.cxx:12 AliEveEMCALSModuleData.cxx:13 AliEveEMCALSModuleData.cxx:14 AliEveEMCALSModuleData.cxx:15 AliEveEMCALSModuleData.cxx:16 AliEveEMCALSModuleData.cxx:17 AliEveEMCALSModuleData.cxx:18 AliEveEMCALSModuleData.cxx:19 AliEveEMCALSModuleData.cxx:20 AliEveEMCALSModuleData.cxx:21 AliEveEMCALSModuleData.cxx:22 AliEveEMCALSModuleData.cxx:23 AliEveEMCALSModuleData.cxx:24 AliEveEMCALSModuleData.cxx:25 AliEveEMCALSModuleData.cxx:26 AliEveEMCALSModuleData.cxx:27 AliEveEMCALSModuleData.cxx:28 AliEveEMCALSModuleData.cxx:29 AliEveEMCALSModuleData.cxx:30 AliEveEMCALSModuleData.cxx:31 AliEveEMCALSModuleData.cxx:32 AliEveEMCALSModuleData.cxx:33 AliEveEMCALSModuleData.cxx:34 AliEveEMCALSModuleData.cxx:35 AliEveEMCALSModuleData.cxx:36 AliEveEMCALSModuleData.cxx:37 AliEveEMCALSModuleData.cxx:38 AliEveEMCALSModuleData.cxx:39 AliEveEMCALSModuleData.cxx:40 AliEveEMCALSModuleData.cxx:41 AliEveEMCALSModuleData.cxx:42 AliEveEMCALSModuleData.cxx:43 AliEveEMCALSModuleData.cxx:44 AliEveEMCALSModuleData.cxx:45 AliEveEMCALSModuleData.cxx:46 AliEveEMCALSModuleData.cxx:47 AliEveEMCALSModuleData.cxx:48 AliEveEMCALSModuleData.cxx:49 AliEveEMCALSModuleData.cxx:50 AliEveEMCALSModuleData.cxx:51 AliEveEMCALSModuleData.cxx:52 AliEveEMCALSModuleData.cxx:53 AliEveEMCALSModuleData.cxx:54 AliEveEMCALSModuleData.cxx:55 AliEveEMCALSModuleData.cxx:56 AliEveEMCALSModuleData.cxx:57 AliEveEMCALSModuleData.cxx:58 AliEveEMCALSModuleData.cxx:59 AliEveEMCALSModuleData.cxx:60 AliEveEMCALSModuleData.cxx:61 AliEveEMCALSModuleData.cxx:62 AliEveEMCALSModuleData.cxx:63 AliEveEMCALSModuleData.cxx:64 AliEveEMCALSModuleData.cxx:65 AliEveEMCALSModuleData.cxx:66 AliEveEMCALSModuleData.cxx:67 AliEveEMCALSModuleData.cxx:68 AliEveEMCALSModuleData.cxx:69 AliEveEMCALSModuleData.cxx:70 AliEveEMCALSModuleData.cxx:71 AliEveEMCALSModuleData.cxx:72 AliEveEMCALSModuleData.cxx:73 AliEveEMCALSModuleData.cxx:74 AliEveEMCALSModuleData.cxx:75 AliEveEMCALSModuleData.cxx:76 AliEveEMCALSModuleData.cxx:77 AliEveEMCALSModuleData.cxx:78 AliEveEMCALSModuleData.cxx:79 AliEveEMCALSModuleData.cxx:80 AliEveEMCALSModuleData.cxx:81 AliEveEMCALSModuleData.cxx:82 AliEveEMCALSModuleData.cxx:83 AliEveEMCALSModuleData.cxx:84 AliEveEMCALSModuleData.cxx:85 AliEveEMCALSModuleData.cxx:86 AliEveEMCALSModuleData.cxx:87 AliEveEMCALSModuleData.cxx:88 AliEveEMCALSModuleData.cxx:89 AliEveEMCALSModuleData.cxx:90 AliEveEMCALSModuleData.cxx:91 AliEveEMCALSModuleData.cxx:92 AliEveEMCALSModuleData.cxx:93 AliEveEMCALSModuleData.cxx:94 AliEveEMCALSModuleData.cxx:95 AliEveEMCALSModuleData.cxx:96 AliEveEMCALSModuleData.cxx:97 AliEveEMCALSModuleData.cxx:98 AliEveEMCALSModuleData.cxx:99 AliEveEMCALSModuleData.cxx:100 AliEveEMCALSModuleData.cxx:101 AliEveEMCALSModuleData.cxx:102 AliEveEMCALSModuleData.cxx:103 AliEveEMCALSModuleData.cxx:104 AliEveEMCALSModuleData.cxx:105 AliEveEMCALSModuleData.cxx:106 AliEveEMCALSModuleData.cxx:107 AliEveEMCALSModuleData.cxx:108 AliEveEMCALSModuleData.cxx:109 AliEveEMCALSModuleData.cxx:110 AliEveEMCALSModuleData.cxx:111 AliEveEMCALSModuleData.cxx:112 AliEveEMCALSModuleData.cxx:113 AliEveEMCALSModuleData.cxx:114 AliEveEMCALSModuleData.cxx:115 AliEveEMCALSModuleData.cxx:116 AliEveEMCALSModuleData.cxx:117 AliEveEMCALSModuleData.cxx:118 AliEveEMCALSModuleData.cxx:119 AliEveEMCALSModuleData.cxx:120 AliEveEMCALSModuleData.cxx:121 AliEveEMCALSModuleData.cxx:122 AliEveEMCALSModuleData.cxx:123 AliEveEMCALSModuleData.cxx:124 AliEveEMCALSModuleData.cxx:125 AliEveEMCALSModuleData.cxx:126 AliEveEMCALSModuleData.cxx:127 AliEveEMCALSModuleData.cxx:128 AliEveEMCALSModuleData.cxx:129 AliEveEMCALSModuleData.cxx:130 AliEveEMCALSModuleData.cxx:131 AliEveEMCALSModuleData.cxx:132 AliEveEMCALSModuleData.cxx:133 AliEveEMCALSModuleData.cxx:134 AliEveEMCALSModuleData.cxx:135 AliEveEMCALSModuleData.cxx:136 AliEveEMCALSModuleData.cxx:137 AliEveEMCALSModuleData.cxx:138 AliEveEMCALSModuleData.cxx:139 AliEveEMCALSModuleData.cxx:140 AliEveEMCALSModuleData.cxx:141 AliEveEMCALSModuleData.cxx:142 AliEveEMCALSModuleData.cxx:143 AliEveEMCALSModuleData.cxx:144 AliEveEMCALSModuleData.cxx:145 AliEveEMCALSModuleData.cxx:146 AliEveEMCALSModuleData.cxx:147 AliEveEMCALSModuleData.cxx:148 AliEveEMCALSModuleData.cxx:149 AliEveEMCALSModuleData.cxx:150 AliEveEMCALSModuleData.cxx:151 AliEveEMCALSModuleData.cxx:152 AliEveEMCALSModuleData.cxx:153 AliEveEMCALSModuleData.cxx:154 AliEveEMCALSModuleData.cxx:155 AliEveEMCALSModuleData.cxx:156 AliEveEMCALSModuleData.cxx:157 AliEveEMCALSModuleData.cxx:158 AliEveEMCALSModuleData.cxx:159 AliEveEMCALSModuleData.cxx:160 AliEveEMCALSModuleData.cxx:161 AliEveEMCALSModuleData.cxx:162 AliEveEMCALSModuleData.cxx:163 AliEveEMCALSModuleData.cxx:164 AliEveEMCALSModuleData.cxx:165 AliEveEMCALSModuleData.cxx:166 AliEveEMCALSModuleData.cxx:167 AliEveEMCALSModuleData.cxx:168 AliEveEMCALSModuleData.cxx:169 AliEveEMCALSModuleData.cxx:170 AliEveEMCALSModuleData.cxx:171 AliEveEMCALSModuleData.cxx:172 AliEveEMCALSModuleData.cxx:173 AliEveEMCALSModuleData.cxx:174 AliEveEMCALSModuleData.cxx:175 AliEveEMCALSModuleData.cxx:176 AliEveEMCALSModuleData.cxx:177 AliEveEMCALSModuleData.cxx:178 AliEveEMCALSModuleData.cxx:179 AliEveEMCALSModuleData.cxx:180 AliEveEMCALSModuleData.cxx:181 AliEveEMCALSModuleData.cxx:182 AliEveEMCALSModuleData.cxx:183 AliEveEMCALSModuleData.cxx:184 AliEveEMCALSModuleData.cxx:185 AliEveEMCALSModuleData.cxx:186 AliEveEMCALSModuleData.cxx:187 AliEveEMCALSModuleData.cxx:188 AliEveEMCALSModuleData.cxx:189 AliEveEMCALSModuleData.cxx:190 AliEveEMCALSModuleData.cxx:191 AliEveEMCALSModuleData.cxx:192 AliEveEMCALSModuleData.cxx:193 AliEveEMCALSModuleData.cxx:194 AliEveEMCALSModuleData.cxx:195 AliEveEMCALSModuleData.cxx:196 AliEveEMCALSModuleData.cxx:197 AliEveEMCALSModuleData.cxx:198 AliEveEMCALSModuleData.cxx:199 AliEveEMCALSModuleData.cxx:200 AliEveEMCALSModuleData.cxx:201 AliEveEMCALSModuleData.cxx:202 AliEveEMCALSModuleData.cxx:203 AliEveEMCALSModuleData.cxx:204 AliEveEMCALSModuleData.cxx:205 AliEveEMCALSModuleData.cxx:206 AliEveEMCALSModuleData.cxx:207 AliEveEMCALSModuleData.cxx:208 AliEveEMCALSModuleData.cxx:209 AliEveEMCALSModuleData.cxx:210 AliEveEMCALSModuleData.cxx:211 AliEveEMCALSModuleData.cxx:212 AliEveEMCALSModuleData.cxx:213 AliEveEMCALSModuleData.cxx:214 AliEveEMCALSModuleData.cxx:215 AliEveEMCALSModuleData.cxx:216 AliEveEMCALSModuleData.cxx:217 AliEveEMCALSModuleData.cxx:218 AliEveEMCALSModuleData.cxx:219 AliEveEMCALSModuleData.cxx:220 AliEveEMCALSModuleData.cxx:221 AliEveEMCALSModuleData.cxx:222 AliEveEMCALSModuleData.cxx:223 AliEveEMCALSModuleData.cxx:224 AliEveEMCALSModuleData.cxx:225 AliEveEMCALSModuleData.cxx:226 AliEveEMCALSModuleData.cxx:227