00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "Stiostream.h"
00023 #include <strings.h>
00024 #include <stdlib.h>
00025 #include <TROOT.h>
00026 #include<TMatrix.h>
00027 #include<TArrayF.h>
00028 #include <math.h>
00029 #include "StPmdGeom.h"
00030 #include "StPmdDBUtil.h"
00031 ClassImp(StPmdDBUtil)
00032
00033 StPmdDBUtil::StPmdDBUtil()
00034 {
00035 mPmdGeom = new StPmdGeom();
00036 GetBoardInfo();
00037 }
00038
00039 StPmdDBUtil::~StPmdDBUtil(){}
00040
00041
00042 void StPmdDBUtil::GetBoardInfo()
00043 {
00044 Int_t sm,row,col;
00045 for(Int_t ism=0;ism<PMD_CRAMS_MAX*2;ism++){
00046 for(Int_t irow=0;irow<PMD_ROW_MAX;irow++){
00047 for(Int_t icol=0;icol<PMD_COL_MAX;icol++){
00048 m_BoardNumber[ism][irow][icol]=0;
00049 m_ChannelInBoard[ism][irow][icol]=0;
00050 }
00051 }
00052 }
00053
00054 for(Int_t Chain_No=1;Chain_No<=PMD_CHAIN_MAX;Chain_No++){
00055 for(Int_t CHANNEL=0;CHANNEL<PMD_CHAIN_CHANNEL_MAX;CHANNEL++){
00056
00057
00058 Int_t channel=CHANNEL;
00059 Int_t chtemp;
00060
00061 mPmdGeom->ChainMapping(Chain_No,channel,sm,col,row,chtemp);
00062 Int_t Board_no=(Int_t)channel/PMD_BOARD_CH_MAX;
00063
00064 m_BoardNumber[sm-1][row-1][col-1]=Board_no;
00065 m_ChannelInBoard[sm-1][row-1][col-1]=channel;
00066 m_Chain[sm-1][row-1][col-1]=Chain_No;
00067
00068 }
00069 }
00070 }
00071