#ifndef HRICHDIGITISATIONPAR_H
#define HRICHDIGITISATIONPAR_H

#include "TObject.h"
#include "TArrayI.h"
#include "hparcond.h"
#include "hlocation.h"

class HParamList;
class HParHadAsciiFileIo;
class HDetParAsciiFileIo;
 
class HRichDigitisationPar: public HParCond {

public:

 // ---- general parameters ----
 
    Float_t fElectronsNr;//number of electron ionized in c4f10 for keV
    Float_t fSigmaValue;//sigma value for electronic noise
    Float_t fIncreaseNoise;//factor the noise has to be increased of
    Float_t fChargePerChannel;//number of electron for ADC channel
    Float_t fQupper;//upper limit for Polya function in ADC channel
    
    
    Float_t fParameter1;// parameters that describe the coupling of the charge on the wire to the pad plane.
    Float_t fParameter2;
    Float_t fFactor1;
    Float_t fFactor2;
    Float_t fFactor1Sig;
    Float_t fFactor2Sig;


   
    TArrayF fExpSlope;//slope of the exponential functions used to describe the photon charge distribution, 1 slope for each sector

   
 // ---- quantum efficiency ----

    Int_t fBinsNr;
    TArrayF fPhotonLen;
    TArrayF fPhotonEff;
    TArrayF corrSec[6];
    //    Float_t **corrSec;
    Float_t fChargeScaling; //parameter introduced to compensate for the electronics rebuild in early 2004    

private:

 Char_t filename[40];

public:

    HRichDigitisationPar(const Char_t* name="RichDigitisationParameters",
			 const Char_t* title="Rich Digitisation Parameters",
			 const Char_t* context="RichDigiProduction");
    virtual ~HRichDigitisationPar();
    
    HRichDigitisationPar(const HRichDigitisationPar& source);
    HRichDigitisationPar& operator=(const HRichDigitisationPar& source);
    
    Bool_t init(HParIo*,Int_t*);
    Int_t write(HParIo*);
    virtual Bool_t initAscii(HParHadAsciiFileIo* pHadAsciiFile);
    virtual Bool_t writeAscii(HParHadAsciiFileIo* pHadAsciiFile);
    Bool_t readAscii(HDetParAsciiFileIo*);
    Int_t writeAscii(HDetParAsciiFileIo*);
    void putParams(HParamList*);
    Bool_t getParams(HParamList*);
    void clear();
    void printParam();
    
    void defaultInit();
    void setFileName(Char_t* fn) { strncpy(filename, fn, 40); }
    
    
    Float_t getElectronsNr() { return fElectronsNr; }
    Float_t getChargePerChannel() { return fChargePerChannel; }
    Float_t getSigmaValue() { return fSigmaValue; }
    Float_t getIncreaseNoise() { return fIncreaseNoise; }
    Int_t getQEBinsNr() { return fBinsNr; }
    Float_t* getPhotonLenArray() { return &fPhotonLen[0]; }
    Float_t* getPhotonEffArray() { return &fPhotonEff[0]; }
    Float_t* getCorrectionParams(Int_t sector) {return &(corrSec[sector][0]);}

    Float_t getQupper() { return fQupper; }
    
    Float_t getFactor1() { return fFactor1; }
    Float_t getFactor2() { return fFactor2; }
    Float_t getFactor1Sig() { return fFactor1Sig; }
    Float_t getFactor2Sig() { return fFactor2Sig; }

    Float_t getParameter1() { return fParameter1; }
    Float_t getParameter2() { return fParameter2; }
    
    Float_t getChargeScaling() {return fChargeScaling; }
   
    Float_t * getExpSlope() { return &fExpSlope[0];}
    
 ClassDef(HRichDigitisationPar,2)
};


#endif // HRICHDIGITISATIONPAR_H

Last change: Sat May 22 13:08:40 2010
Last generated: 2010-05-22 13:08

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.