43 G4HCofThisEvent* HCE = evt->GetHCofThisEvent();
52 fNHits = CHC->entries();
54 for ( i = 0; i < fNHits; i++ )
56 fTotECrystal += ( *CHC )[i]->GetEdepCrystal();
57 fTotLCrystal += ( *CHC )[i]->GetTrakCrystal();
58 G4int nTheta = 45 - ( *CHC )[i]->GetNumThetaCrystal();
59 G4int
nPhi = ( *CHC )[i]->GetNumPhiCrystal();
60 if ( nTheta > 0 && nTheta < 50 && nPhi > 0 &&
nPhi < 150 )
62 fSingleECrystal[nTheta][
nPhi] += ( *CHC )[i]->GetEdepCrystal();
66 else { G4cout <<
"EMC Hit out range:" << nTheta <<
',' <<
nPhi << G4endl; }
71 for ( i = 1; i < 50; i++ )
73 for ( j = 1; j < 150; j++ )
75 if ( fSingleECrystal[i][j] > ecut ) { fNCrystalSignal++; }
78 if ( ( fEnergySignal =
new G4double[fNCrystalSignal + 1] ) == NULL ||
79 ( fNThetaSignal =
new G4int[fNCrystalSignal + 1] ) == NULL ||
80 ( fNPhiSignal =
new G4int[fNCrystalSignal + 1] ) == NULL )
83 G4cout <<
"BesEmcDigitization:can't allocate memory for Signal" << G4endl;
87 for ( i = 1; i < 50; i++ )
89 for ( j = 1; j < 150; j++ )
91 if ( fSingleECrystal[i][j] > ecut )
94 fEnergySignal[
n] = fSingleECrystal[i][j];
95 fNThetaSignal[
n] = 45 - i;