///////////////////////////////////////////////////////////// // EmcDigiPar // // Container class for Digitisation parameters // ///////////////////////////////////////////////////////////// using namespace std; #include "EmcDigiPar.h" #include "CbmRuntimeDb.h" #include "CbmParIo.h" #include "CbmDetParIo.h" #include "TClass.h" #include #include //#include "iostream.h" ClassImp(EmcDigiPar) EmcDigiPar::EmcDigiPar(const char* name,const char* title, const char* context) : CbmParSet(name,title,context) { detName="Emc"; eneThr=1e-5; //GeV nBits=16; detectedPhotonsPerMeV=100; energyRange=15; //GeV excessNoiseFactor=1.38; firstSamplePhase=0; number_of_samples_in_waveform=64; Shaping_diff_time=100e-9; Shaping_int_time =150e-9; crystal_time_constant=12e-9; incoherent_elec_noise_width_GeV =1.0e-3; sampleRate=80e-6; use_shaped_noise =false; use_photon_statistic =true; threshold=3.0e-3; } EmcDigiPar::~EmcDigiPar() { // destructor } Bool_t EmcDigiPar::init(CbmParIo* inp) { // intitializes the container from an input CbmDetParIo* input=inp->getDetParIo("EmcParIo"); cout << "-I- EmcDigiPar::init " << input << endl; if (input) return (input->init(this)); return kFALSE; } Int_t EmcDigiPar::write(CbmParIo* output) { // writes the container to an output CbmDetParIo* out=output->getDetParIo("EmcParIo"); if (out) return out->write(this); return -1; } void EmcDigiPar::clear() { // clears the container status=kFALSE; resetInputVersions(); } void EmcDigiPar::printParam() { // prints parameters // to be done } void EmcDigiPar::readline(const char *buffer, Int_t *set, fstream *f) { int use_shaped_noise_int, use_photon_statistic_int; sscanf(buffer, "%lf%d%lf%lf%lf%lf%d%lf%lf%lf%lf%lf%d%d%lf", &eneThr, &nBits, &detectedPhotonsPerMeV, &energyRange, &excessNoiseFactor, &firstSamplePhase, &number_of_samples_in_waveform, &Shaping_diff_time , &Shaping_int_time, &crystal_time_constant,&incoherent_elec_noise_width_GeV, &sampleRate , &use_shaped_noise_int, &use_photon_statistic_int, &threshold); use_shaped_noise= static_cast (use_shaped_noise_int); use_photon_statistic= static_cast (use_photon_statistic_int); } void EmcDigiPar::readline(const char *buf, Int_t *set) { } void EmcDigiPar::putAsciiHeader(TString& header) { header = "Header is not yet defined"; } Bool_t EmcDigiPar::writeline(char *buf, Int_t mod, Int_t strip) { return kTRUE; }