CCandidatorySetup.h
//-----------------------------------------------------------------------------
// $Header: CCandidatorySetup.h,v 1.5 97/04/22 14:29:58 messer Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declarations for CCandidatorySetup class.
//
//-----------------------------------------------------------------------------
#ifndef CCANDIDATORYSETUP_H
#define CCANDIDATORYSETUP_H
#include <iostream.h>
#include "cool.h"
#include "CDetectorSetup.h"
class CCandidatorySetup {
public:
CCandidatorySetup();
public:
void read(const char*);
void list(ostream& = cout);
public:
double getHoughMaxDeltaXYRich1Sidc() const { return houghMaxDeltaXYRich1Sidc; }
double getHoughMaxDeltaXYRich2Padc() const { return houghMaxDeltaXYRich2Padc; }
double getRich12ThetaMatch() const { return rich12ThetaMatch; }
double getPtCutForButterfly() const { return ptCutForButterfly; }
double getRich2CenterResolution() const { return rich2CenterResolution; }
double getPadcHitResolution() const { return padcHitResolution; }
double getMultipleScattering() const { return multipleScattering; }
double getButterflySigmas() const { return butterflySigmas; }
double getScaleFactorForPadcPhiDeflection() const { return scaleFactorForPadcPhiDeflection; }
CBoolean getFieldFlag() const { return fieldFlag; }
inline double getPhiDeflectionParameters(int i) const
{
if ( i < 0 || i >= 3 )
return 0.;
else
return phiDeflectionParameters[i];
}
void setHoughMaxDeltaXYRich1Sidc(double dxy) { houghMaxDeltaXYRich1Sidc = dxy; }
void setHoughMaxDeltaXYRich2Padc(double dxy) { houghMaxDeltaXYRich2Padc = dxy; }
void setRich12ThetaMatch(double val) { rich12ThetaMatch = val; }
void setPtCutForButterfly(double val) { ptCutForButterfly = val; }
void setFieldFlag(CBoolean val) { fieldFlag = val; }
void setButterflySigmas(double val) { butterflySigmas = val; }
void setMultipleScattering(double val) { multipleScattering = val; }
void setRich2CenterResolution(double val) { rich2CenterResolution = val; }
void setPadcHitResolution(double val) { padcHitResolution = val; }
void setScaleFactorForPadcPhiDeflection(double val) { scaleFactorForPadcPhiDeflection = val; }
private:
double houghMaxDeltaXYRich1Sidc; // in pads
double houghMaxDeltaXYRich2Padc; // in pads
double rich12ThetaMatch; // in mrad used for rich2 candidates
CBoolean fieldFlag; // 0 = off, 1 = on
double phiDeflectionParameters[3]; // parameter to calculate phi deflection as function of theta
double rich2CenterResolution; // RICH-2 ring center resolution in mrad
double padcHitResolution; // PadChamber hit resolution in mrad
double multipleScattering; // multiple scattering @ 1 GeV/c in mrad
double butterflySigmas; // scales butterfly match window
double ptCutForButterfly;
double scaleFactorForPadcPhiDeflection;
};
#endif /* CCANDIDATORYSETUP_H */