Back to index

See source file

CRichLikeCluster.h

 
//----------------------------------------------------------------------------- 
//  $Header: /asis/offline/ceres/cool/project/RCS/CRichLikeCluster.h,v 3.0 1996/10/02 09:40:38 voigt Exp $ 
// 
//  COOL Program Library   
//  Copyright (C) CERES collaboration, 1996 
// 
//  Implementation of CRichLikeCluster class. 
// 
//----------------------------------------------------------------------------- 
#ifndef CRICHLIKECLUSTER_H 
#define CRICHLIKECLUSTER_H 
 
#include <iostream.h> 
#include "cool.h"  
#include "CCollection.h" 
#include "CPad.h" 
 
class CRichLikeCluster { 
public: 
   CRichLikeCluster ();        // default constructor 
 
public: 
   inline CBoolean operator== (const CRichLikeCluster & ) const; 
    
public: 
   inline int   getNPads()        const { return npads; }  
   inline int   getNLocMax()      const { return nlocMax; }  
   inline int   getFirstPad()     const { return firstPad; }  
   inline float getMinAmpLocMax() const { return minAmpLocMax; }  
   inline float getAmpSum()       const { return ampSum; }  
   inline float getAmp2Sum()      const { return amp2Sum; }  
   inline float getRms2()         const { return rms2; }  
   inline void  incrNLocMax()           { nlocMax++; }  
   inline void  incrNPads()             { npads++; }  
   inline void  setFirstPad(int index)  { firstPad=index; }  
   inline void  setNPads(int newNPads)  { npads=newNPads; }  
   inline void  updateAmp(float newamp) { ampSum += newamp; amp2Sum += newamp*newamp; } 
   inline float rms2Calc()              { return (rms2 = amp2Sum/npads - (ampSum*ampSum/npads/npads)); } 
   inline void  setMinAmpLocMax(float newLocMax)  { minAmpLocMax = newLocMax; }  
   virtual int  split(RWTPtrOrderedVector<CRichLikeCluster>&, CCollection<CPad>&, int ); 
   virtual void dump(const CCollection<CPad>&, ostream& = cout); 
 
private: 
   int npads;            // number of associated pads 
   int firstPad;         // index of first cluster pad in sorted CCollection<pads> 
   int nlocMax;          // number of local maxima 
   float minAmpLocMax;   // lowest amplitude of all associated local maxima  
   float ampSum;         // sum of all pad amplitudes 
   float amp2Sum;        // sum of squares of all pad amplitudes 
   float rms2;           // square rms of pad amplitudes 
}; 
 
CBoolean CRichLikeCluster::operator== (const CRichLikeCluster& cluster) const  
{ 
   return ( npads == cluster.npads   && firstPad == cluster.firstPad && 
            nlocMax == cluster.nlocMax && minAmpLocMax == cluster.minAmpLocMax && 
            ampSum == cluster.ampSum  && rms2 == cluster.rms2 ); 
} 
 
 
#endif /* CRICHLIKECLUSTER_H */  
 
 

Back to index

See source file