8#include "EmcRecEventModel/RecEmcCluster.h"
9#include "EmcRecGeoSvc/IEmcRecGeoSvc.h"
10#include "GaudiKernel/Bootstrap.h"
11#include "GaudiKernel/ISvcLocator.h"
122 RecEmcHitMap::const_iterator pHitMap;
126 if (
fHitMap.empty() ) {
return; }
129 if ( pHitMap ==
End() ) {
return; }
132 if ( pHitMap !=
End() )
134 fHitMap.erase( pHitMap->first );
175 RecEmcHitMap::const_iterator pHitMap;
178 for ( pHitMap =
fHitMap.begin(); pHitMap !=
fHitMap.end(); pHitMap++ )
179 {
etot += pHitMap->second.getEnergy(); }
186 ISvcLocator* svcLocator = Gaudi::svcLocator();
187 StatusCode sc = svcLocator->service(
"EmcRecGeoSvc", iGeoSvc );
188 if ( sc != StatusCode::SUCCESS ) { cout <<
"Error: Can't get EmcRecGeoSvc" << endl; }
190 RecEmcHitMap::const_iterator pHitMap;
195 for ( pHitMap =
fHitMap.begin(); pHitMap !=
fHitMap.end(); pHitMap++ )
197 etot += pHitMap->second.getEnergy();
199 possum += pos * pHitMap->second.getEnergy();
209 ISvcLocator* svcLocator = Gaudi::svcLocator();
210 StatusCode sc = svcLocator->service(
"EmcRecGeoSvc", iGeoSvc );
211 if ( sc != StatusCode::SUCCESS ) { cout <<
"Error: Can't get EmcRecGeoSvc" << endl; }
216 RecEmcHitMap::const_iterator pHitMap;
218 for ( pHitMap =
fHitMap.begin(); pHitMap !=
fHitMap.end(); pHitMap++ )
220 HepPoint3D pos( pHitMap->second.getFrontCenter() );
221 etot += pHitMap->second.getEnergy();
222 sum += pHitMap->second.getEnergy() * pos.distance2( center );
231 RecEmcHitMap::const_iterator pHitMap;
233 cout <<
"EMC Cluster: ";
235 cout <<
"Cluster Id= ";
238 for ( pHitMap =
fHitMap.begin(); pHitMap !=
fHitMap.end(); pHitMap++ )
239 { pHitMap->second.Dump(); }
243 RecEmcHitMap::const_iterator pHitMap;
245 cout <<
"EMC Cluster: ";
247 cout <<
"Cluster Id= ";
250 for ( pHitMap = aCluster.
Begin(); pHitMap != aCluster.
End(); pHitMap++ )
251 { os << ( pHitMap->second ); }
255 cout <<
"Contains " << aCluster.
getSeedSize() <<
" Seeds:" << endl;
256 RecEmcHitMap::const_iterator pSeedMap;
257 for ( pSeedMap = aCluster.
BeginSeed(); pSeedMap != aCluster.
EndSeed(); pSeedMap++ )
258 { os << ( pSeedMap->second ); }
264 vector<RecEmcID>::iterator iShowerId;
265 os <<
"Contains " << aCluster.
getShowerSize() <<
" Showers:" << endl;
266 for ( iShowerId = aShowerIdVec.begin(); iShowerId != aShowerIdVec.end(); iShowerId++ )
267 { os << *iShowerId << endl; }
HepGeom::Point3D< double > HepPoint3D
ostream & operator<<(ostream &os, const RecEmcCluster &aCluster)
virtual HepPoint3D GetCFrontCenter(const Identifier &id) const =0
RecEmcEnergy getEnergy() const
RecEmcID getClusterId() const
HepPoint3D getPosition() const
void Insert(const RecEmcHit &aHit)
RecEmcHitMap::const_iterator FindSeed(const RecEmcID &CellId) const
RecEmcHitMap::const_iterator EndSeed() const
RecEmcHitMap::const_iterator BeginSeed() const
vector< RecEmcID > fShowerIdVec
RecEmcHitMap::const_iterator Find(const RecEmcID &CellId) const
double getSecondMoment() const
RecEmcHitMap::const_iterator Begin() const
void Erase(const RecEmcHit &aHit)
void InsertSeed(const RecEmcHit &aSeed)
RecEmcHitMap::const_iterator End() const
void ClusterId(const RecEmcID id)
vector< RecEmcID > getShowerIdVec() const
void InsertShowerId(const RecEmcID id)
int getShowerSize() const
RecEmcID getCellId() const