BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EmcRecSeedEThreshold Class Reference

#include <EmcRecSeedEThreshold.h>

Inheritance diagram for EmcRecSeedEThreshold:

Public Member Functions

 EmcRecSeedEThreshold ()
 ~EmcRecSeedEThreshold ()
virtual void Seed (const RecEmcCluster &aCluster, RecEmcIDVector &aMaxVec)
 EmcRecSeedEThreshold ()
 ~EmcRecSeedEThreshold ()
virtual void Seed (const RecEmcCluster &aCluster, RecEmcIDVector &aMaxVec)
 EmcRecSeedEThreshold ()
 ~EmcRecSeedEThreshold ()
virtual void Seed (const RecEmcCluster &aCluster, RecEmcIDVector &aMaxVec)
Public Member Functions inherited from EmcRecSeedAbs
 EmcRecSeedAbs ()
virtual ~EmcRecSeedAbs ()
 EmcRecSeedAbs ()
virtual ~EmcRecSeedAbs ()
 EmcRecSeedAbs ()
virtual ~EmcRecSeedAbs ()

Detailed Description

Constructor & Destructor Documentation

◆ EmcRecSeedEThreshold() [1/3]

EmcRecSeedEThreshold::EmcRecSeedEThreshold ( )

Definition at line 12 of file EmcRecSeedEThreshold.cxx.

12 {
13 fEThresholdSeed = EmcRecParameter::GetInstance().EThresholdSeed();
14}
static EmcRecParameter & GetInstance()
double EThresholdSeed() const

◆ ~EmcRecSeedEThreshold() [1/3]

EmcRecSeedEThreshold::~EmcRecSeedEThreshold ( )

Definition at line 16 of file EmcRecSeedEThreshold.cxx.

16{}

◆ EmcRecSeedEThreshold() [2/3]

EmcRecSeedEThreshold::EmcRecSeedEThreshold ( )

◆ ~EmcRecSeedEThreshold() [2/3]

EmcRecSeedEThreshold::~EmcRecSeedEThreshold ( )

◆ EmcRecSeedEThreshold() [3/3]

EmcRecSeedEThreshold::EmcRecSeedEThreshold ( )

◆ ~EmcRecSeedEThreshold() [3/3]

EmcRecSeedEThreshold::~EmcRecSeedEThreshold ( )

Member Function Documentation

◆ Seed() [1/3]

void EmcRecSeedEThreshold::Seed ( const RecEmcCluster & aCluster,
RecEmcIDVector & aMaxVec )
virtual

Implements EmcRecSeedAbs.

Definition at line 18 of file EmcRecSeedEThreshold.cxx.

18 {
19 RecEmcHitMap::const_iterator ciHitMap;
20 RecEmcHitMap::const_iterator ciNeigh;
21 RecEmcHit aHit;
22
23 bool max;
24
25 RecEmcIDVector NeighVec;
26 RecEmcIDVector::const_iterator ciNeighVec;
27
28 aMaxVec.clear();
29
30 vector<RecEmcHit> aHitVec, tmpHitVec;
31 vector<RecEmcHit>::const_iterator ciHitVec;
32
33 EmcRecNeighbor nhb;
34
35 for ( ciHitMap = aCluster.Begin(); ciHitMap != aCluster.End(); ++ciHitMap )
36 {
37 //++++++++++++++++++++++++++++++++++++++++++++++++++
38 // prepare a hit
39 max = true;
40 aHit = ciHitMap->second;
41
42 if ( aHit.getEnergy() > fEThresholdSeed )
43 {
44 // prepare its neighbours
45 NeighVec.clear();
46 NeighVec = nhb.GetNeighbors( aHit.getCellId() );
47
48 // to see if it is energy max
49 for ( ciNeighVec = NeighVec.begin(); ciNeighVec != NeighVec.end(); ++ciNeighVec )
50 {
51 // find it
52 ciNeigh = aCluster.Find( *ciNeighVec );
53 if ( ciNeigh != aCluster.End() )
54 {
55 // largest!!!
56 if ( ciNeigh->second.getEnergy() > aHit.getEnergy() ) { max = false; }
57 }
58 }
59 }
60 else { max = false; }
61
62 // avoid 2 equal neighbor seeds
63 for ( ciHitVec = aHitVec.begin(); ciHitVec != aHitVec.end(); ciHitVec++ )
64 {
65 if ( nhb.IsNeighbor( ciHitVec->getCellId(), aHit.getCellId() ) )
66 {
67 max = false;
68 break;
69 }
70 }
71
72 // once max hit is found
73 if ( max == true ) { aHitVec.push_back( aHit ); }
74 //++++++++++++++++++++++++++++++++++++++++++++++++++
75 }
76
77 sort( aHitVec.begin(), aHitVec.end(), greater<RecEmcHit>() );
78
79 for ( ciHitVec = aHitVec.begin(); ciHitVec != aHitVec.end(); ciHitVec++ )
80 { aMaxVec.push_back( ciHitVec->getCellId() ); }
81}
#define max(a, b)
RecEmcIDVector GetNeighbors(const Identifier &id)
bool IsNeighbor(const Identifier &id1, const Identifier &id2)
RecEmcHitMap::const_iterator Find(const RecEmcID &CellId) const
RecEmcHitMap::const_iterator Begin() const
RecEmcHitMap::const_iterator End() const

◆ Seed() [2/3]

virtual void EmcRecSeedEThreshold::Seed ( const RecEmcCluster & aCluster,
RecEmcIDVector & aMaxVec )
virtual

Implements EmcRecSeedAbs.

◆ Seed() [3/3]

virtual void EmcRecSeedEThreshold::Seed ( const RecEmcCluster & aCluster,
RecEmcIDVector & aMaxVec )
virtual

Implements EmcRecSeedAbs.


The documentation for this class was generated from the following files: