CRichLikeHit.h
//-----------------------------------------------------------------------------
// $Header: /tmp_mnt/asis/offline/ceres/cool/project/RCS/CRichLikeHit.h,v 3.1 1997/04/25 15:05:30 messer Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declarations for CRichLikeHit class.
//
//-----------------------------------------------------------------------------
#ifndef CRICHLIKEHIT_H
#define CRICHLIKEHIT_H
#include <float.h>
#include "cool.h"
#include "CFittedRing.h"
#include "CRichLikeCluster.h"
#include "CMCDigiHit.h"
class CRich;
class CRichLikeHit {
public:
CRichLikeHit(); // default constructor
CRichLikeHit(float, float, float); // create hit with (x,y,amp)
public:
virtual CBoolean operator== (const CRichLikeHit&) const; // needed for collection list
inline CBoolean operator< (const CRichLikeHit&) const; // needed for sorting
inline double operator- (const CRichLikeHit&) const; // needed for CSortedList
public:
inline float getX() const { return x; }
inline float getY() const { return y; }
inline float getAmp() const { return amp; }
inline float getRms2() const { return rms2; }
inline const CFittedRing* getRing() const { return ring; }
inline const CRichLikeCluster* getCluster() const { return cluster; }
inline void setAmp(float newamp) { amp = newamp; }
inline void setX(float newX) { x = newX; }
inline void setY(float newY) { y = newY; }
inline void setRms2(float newRms2) { rms2 = newRms2; }
inline void setRing(CFittedRing* r) { ring = r; }
inline void setCluster(CRichLikeCluster* c) { cluster = c; }
public:
void getMCDigiHits(CRich&, RWTPtrOrderedVector<CMCDigiHit>&);
private:
float x;
float y;
float amp;
float rms2;
CFittedRing *ring;
CRichLikeCluster *cluster;
};
inline CBoolean CRichLikeHit::operator< (const CRichLikeHit& hit) const
{
return (x < hit.x);
}
inline double CRichLikeHit::operator- (const CRichLikeHit& hit) const
{
return (x - hit.x);
}
#endif /* CRICHLIKEHIT_H */