00001
00002
00003
00004
00006
00007
00008
00009
00010
00012
00013 #include <Riostream.h>
00014
00015 #include "TFndRun.h"
00016
00017 #include "TFndHStb.h"
00018 #include "TMath.h"
00019
00020 ClassImp(TFndHStb)
00021
00022
00023 TFndHStb::TFndHStb(const Int_t &channel):
00024 fChannel(channel),
00025 fCrown(),fTube(),fPatchPanel(),
00026 fTdc(),fCalibTdcTzero(),fCalibTdcTbar()
00027 {
00028
00029 Init();
00030
00031 Int_t w;
00032 TFndDB::Stb_ChNum_To_DetChan(channel,fCrown,fTube,w);
00033
00034 }
00035
00036
00037 TFndHStb::~TFndHStb() {
00038
00039
00040 }
00041
00042
00043 void TFndHStb::Init(){
00044
00045 fTdc = -1;
00046 fCalibTdcTzero = -1;
00047 fCalibTdcTbar = -1;
00048
00049
00050
00051
00052 }
00053
00054
00055 void TFndHStb::EvalHit(){
00056
00057
00058 TFndFeeMap *fDB = fndrun->GetFeeMap();
00059
00060
00061 fCalibTdcTzero = (Int_t) ( fDB->GetStbCal_T0(fCrown,fTube) - ((Float_t)(fTdc)) );
00062 fCalibTdcTbar = 0;
00063
00064
00065 fDB = 0;
00066 }
00067
00068
00069 void TFndHStb::PrintHit(Int_t depth)
00070 {
00071
00072
00073 if(depth<=0) return;
00074
00075 TString msg = "";
00076 TString app_msg = "";
00077
00078 msg.Form("Stb Channel: %d (patch-panel %d) ===> TDC value: %d\n",fChannel,fPatchPanel,fTdc);
00079
00080
00081
00082 if(depth>1){
00083 app_msg.Form(" ---> Crown: %d; tube: %d\n",fCrown,fTube);
00084 msg+=app_msg;
00085
00086 if(depth>2){
00087 app_msg.Form("T-zero calibrated: %d; T-bar calibrated: %d\n",fCalibTdcTzero,fCalibTdcTbar);
00088 msg+=app_msg;
00089 }
00090 }
00091
00092 msg.Resize(msg.Sizeof()-2);
00093 Printf("%s",msg.Data());
00094
00095 }