CDeflection.h
//-----------------------------------------------------------------------------
// $Header: /cool/project/RCS/CDeflection.h,v 1.3 1997/02/24 11:21:18 lenkeit Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declaration of class ...
//
//-----------------------------------------------------------------------------
#ifndef CDEFLECTION_H
#define CDEFLECTION_H
#include "cool.h"
#include "CCoordinate.h"
#include <iostream.h>
class CVertex;
class CPadChamber;
class CDeflection {
public:
CDeflection();
~CDeflection();
CDeflection(const CDeflection &);
CDeflection & operator = (const CDeflection &);
public:
inline CLabXYZCoord getPosition() {return deflectionPoint;};
inline CPadCPadCoord getPadcPredictor() {return padcPredictor;};
inline CPadCPadCoord getPreUpperLeft() {return pcUpperLeft;};
inline CPadCPadCoord getPreUpperRight() {return pcUpperRight;};
inline CPadCPadCoord getPreLowerLeft() {return pcLowerLeft;};
inline CPadCPadCoord getPreLowerRight() {return pcLowerRight;};
inline double getPadcWindowSize() {return padcWindowSize;};
inline void setPadcWindowSize(double wSize) {pcEdgeA.setX(-wSize);
pcEdgeA.setY(wSize);
pcEdgeB.setX(wSize);
pcEdgeB.setY(wSize);
padcWindowSize = wSize;};
inline void setZDeflectionPosition(double zplane) { zDeflectionPlane = zplane;
deflectionPoint.setZ(zplane); };
CBoolean calculatePCPrediction( double, double, double, double, CPadChamber&, CVertex&);
CBoolean calculateRich2Prediction( double, double, double, double, double&, CAngle&,
CVertex *, CPadChamber *);
private:
CLabXYZCoord deflectionPoint;
double zDeflectionPlane;
double padcWindowSize;
CPadCPadCoord padcPredictor;
CPadCPadCoord pcUpperLeft;
CPadCPadCoord pcUpperRight;
CPadCPadCoord pcLowerLeft;
CPadCPadCoord pcLowerRight;
CPadCPadCoord pcEdgeA;
CPadCPadCoord pcEdgeB;
};
#endif /* CDEFLECTION_H */