Back to index

See source file

CRichLikeSetup.h

 
//----------------------------------------------------------------------------- 
//  $Header: /cool/project/RCS/CRichLikeSetup.h,v 3.2 1997/02/10 18:42:21 lenkeit Exp $ 
// 
//  COOL Program Library 
//  Copyright (C) CERES collaboration, 1996 
// 
//  Declarations for CRichLikeSetup class. 
// 
//----------------------------------------------------------------------------- 
#ifndef CRICHLIKESETUP_H 
#define CRICHLIKESETUP_H 
 
#include <iostream.h> 
#include "cool.h" 
#include "CDetectorSetup.h" 
 
class CRichLikeSetup : public CDetectorSetup { 
public: 
   CRichLikeSetup(); 
    
public: 
   void read(const char*); 
   void list(ostream& ost = cout); 
   void _read(const char*); 
   void _list(ostream& ost = cout); 
    
public: 
   inline int getSigmaLabel() const { return sigmaLabel; } 
   inline int getXYLookupLabel() const { return xyLookupLabel; } 
   inline int getHuffmanLabel() const { return huffmanLabel; } 
   inline int getNPads() const { return nPads; } 
   inline int getMaxPadsPerChain() const { return maxPadsPerChain; } 
   inline int getMaxLookupPerChain() const { return maxLookupPerChain; } 
   inline int getMaxUsedChains() const { return maxUsedChains; } 
 
   inline double getPadSize() const { return padSize; } 
   inline double getMinPadAmplitude() const { return minPadAmplitude; } 
   inline double getNSigmaCut() const { return nSigmaCut; } 
   inline double getInnerAcceptance() const { return innerAcceptance; } 
   inline double getOuterAcceptance() const { return outerAcceptance; } 
 
   inline float  getHitMinCenterPadPercentage() const { return hitMinCenterPadPercentage; } 
 
   inline void setMinPadAmplitude(double min) {  minPadAmplitude = min; } 
   inline void setNSigmaCut(double cut) {  nSigmaCut = cut; } 
 
   inline void  setHitMinCenterPadPercentage(float newVal) { hitMinCenterPadPercentage = newVal; } 
 
public: 
   inline double   getElectronsPerADC()  const { return electronsPerADC; } 
   inline int      getMCHitLabel()       const { return mcHitLabel; } 
   inline double   getMCMeanAmplitude()  const { return mcMeanAmplitude; } 
   inline CBoolean getMCUseGainMap()     const { return mcUseGainMap; } 
   inline CBoolean getMCUseRealNoise()   const { return mcUseRealNoise; } 
   inline CBoolean getMCUseSimpleNoise() const { return mcUseSimpleNoise; } 
   inline double   getMCMeanSigma()      const { return mcMeanSigma; } 
   inline double   getMCHitWidth()       const { return mcHitWidth; }                 // in pads 
   inline double   getMCNoiseFactor()    const { return mcNoiseFactor; }                 
   inline double   getMCPedestalShift()  const { return mcPedestalShift; }                       
   inline double   getMCHitAberration()  const { return mcHitAberration; }            // (diffusion, chromatics...) 
   inline double   getMCHitDiffusion()   const { return mcHitDiffusion; }            // (diffusion, chromatics...) 
    
   inline void setElectronsPerADC (double   ele ) { electronsPerADC  = ele; } 
   inline void setMCMeanAmplitude (double   amp ) { mcMeanAmplitude  = amp; } 
   inline void setMCUseGainMap    (CBoolean ugm ) { mcUseGainMap     = ugm; } 
   inline void setMCUseRealNoise  (CBoolean urn ) { mcUseRealNoise   = urn; } 
   inline void setMCUseSimpleNoise(CBoolean usn ) { mcUseSimpleNoise = usn; } 
   inline void setMCMeanSigma     (double   sig ) { mcMeanSigma      = sig; } 
   inline void setMCHitWidth      (double   hw  ) { mcHitWidth       = hw ; }             // in pads 
   inline void setMCNoiseFactor   (double   nf  ) { mcNoiseFactor    = nf ; }              
   inline void setMCPedestalShift (double   ps  ) { mcPedestalShift  = ps ; }              
   inline void setMCHitAberration (double   ha  ) { mcHitAberration  = ha ; }             // (diffusion, chromatics...) 
   inline void setMCHitDiffusion  (double   hd  ) { mcHitDiffusion   = hd ; }             // (diffusion, chromatics...) 
    
protected: 
   double padSize;                          // in cm 
   int    xyLookupLabel; 
   int    huffmanLabel; 
   int    sigmaLabel; 
   int    nPads; 
   int    maxPadsPerChain; 
   int    maxLookupPerChain; 
   int    maxUsedChains; 
   double minPadAmplitude; 
   double nSigmaCut; 
 
   double   electronsPerADC; 
   int      mcHitLabel; 
   double   mcMeanAmplitude; 
   CBoolean mcUseGainMap; 
   CBoolean mcUseRealNoise; 
   CBoolean mcUseSimpleNoise; 
   double   mcMeanSigma; 
   double   mcHitWidth;                 // in pads 
   double   mcNoiseFactor; 
   double   mcPedestalShift; 
   double   mcHitAberration;             
   double   mcHitDiffusion;             
 
   double innerAcceptance;              // in pad units (used for drawing only)  
   double outerAcceptance; 
 
   float hitMinCenterPadPercentage; 
}; 
 
#endif /* CRICHLIKESETUP_H */ 

Back to index

See source file