CTriggerCalibrator.h
//-----------------------------------------------------------------------------
// $Header: /asis/offline/ceres/cool/project/RCS/CTriggerCalibrator.h,v 3.0 1996/10/02 09:39:50 voigt Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declaration of class CTriggerCalibrator
//
//-----------------------------------------------------------------------------
#ifndef CTRIGGERCALIBRATOR_H
#define CTRIGGERCALIBRATOR_H
#include "cool.h"
#include "rw/tvvector.h"
class CTriggerServer;
class CTriggerCalibrator {
public:
CTriggerCalibrator(CTriggerServer*);
~CTriggerCalibrator();
public:
inline int getLowerEdgeBC1Window() const { return lowerEdgeBC1Window; }
inline int getUpperEdgeBC1Window() const { return upperEdgeBC1Window; }
inline int getLowerEdgeN2Window() const { return lowerEdgeN2Window; }
inline int getUpperEdgeN2Window() const { return upperEdgeN2Window; }
inline int getLowerEdgeMinBiasWindow() const { return lowerEdgeMinBiasWindow; }
inline int getUpperEdgeMinBiasWindow() const { return upperEdgeMinBiasWindow; }
inline const RWTValVector<int>& getBC1Vector() const { return BC1Vector; }
inline const RWTValVector<int>& getN2Vector() const { return N2Vector; }
inline const RWTValVector<int>& getMinBiasVector() const { return minBiasVector; }
void printCalibration();
public:
void update();
CBoolean doCalibration();
void reset();
private:
//
// hold pointer to the triggerServer
//
CTriggerServer* triggerServer;
//
// parameters for 'histograms'
//
int timeBinsBC1;
double minTimeBinBC1;
double maxTimeBinBC1;
double binWidthBC1;
int timeBinsN2;
double minTimeBinN2;
double maxTimeBinN2;
double binWidthN2;
int timeBinsMinBias;
double minTimeBinMinBias;
double maxTimeBinMinBias;
double binWidthMinBias;
//
// histogram vectors
//
RWTValVector<int> BC1Vector;
RWTValVector<int> N2Vector;
RWTValVector<int> minBiasVector;
//
// results of calibration
//
int lowerEdgeBC1Window;
int upperEdgeBC1Window;
int lowerEdgeN2Window;
int upperEdgeN2Window;
int lowerEdgeMinBiasWindow;
int upperEdgeMinBiasWindow;
int numberOfEvents;
};
#endif /* CTRIGGERCALIBRATOR_H */