00001
00002
00003 #include <iostream>
00004 #include "geometry/ChannelSoftId.hh"
00005 #include "root/MTChannelSoftId.hh"
00006
00007
00008 ClassImp(MTChannelSoftId);
00009
00010 using namespace std;
00011
00012 MTChannelSoftId::MTChannelSoftId() : MTChipSoftId(),channelId(0), row(0), col (0)
00013 {
00014 }
00015
00016 MTChannelSoftId::MTChannelSoftId(const MTChannelSoftId& orig)
00017 :MTChipSoftId(orig)
00018
00019 {
00020 channelId = orig.channelId;
00021 row = orig.row;
00022 col = orig.col;
00023 }
00024
00025 MTChannelSoftId::~MTChannelSoftId()
00026 {
00027 }
00028
00029
00030 void MTChannelSoftId::SetValue( unsigned int _chamberId,unsigned int _difId,
00031 unsigned int _boardId , unsigned int _boardRow, unsigned int _boardCol,
00032 unsigned int _nbChipByBoardRow, unsigned int _nbChipByBoardCol,
00033 unsigned int _chipId, unsigned int _chipRow, unsigned int _chipCol,
00034 unsigned int _nbChannelByChipRow , unsigned int _nbChannelByChipCol, unsigned int _chipSerialNum,
00035 unsigned int _channelId,unsigned int _row,unsigned int _col)
00036 {
00037 MTChipSoftId::SetValue(_chamberId,_difId,_boardId,_boardRow, _boardCol , _nbChipByBoardRow, _nbChipByBoardCol, _chipId,_chipRow, _chipCol,_nbChannelByChipRow, _nbChannelByChipCol, _chipSerialNum);
00038 channelId = _channelId;
00039 row = _row;
00040 col = _col;
00041
00042 }
00043
00044
00045
00046 string MTChannelSoftId::toString( ) const
00047 {
00048
00049 string result;
00050
00051 stringstream sId,srow,scol;
00052
00053 result = MTChipSoftId::toString();
00054 sId<<channelId;
00055 result+="channel[" + sId.str();
00056 srow<<row;
00057 result+="]row["+srow.str();
00058 scol<<col;
00059 result+="]col["+scol.str()+"]";
00060
00061 return result;
00062
00063 }
00064
00065
00066 long MTChannelSoftId::GetValue() const
00067 {
00068 return ( OFFSET_CHAMBER *NB_CHANNEL* GetChamberId()
00069 + OFFSET_DIF *NB_CHANNEL* GetDifId()
00070 + OFFSET_CHIP*NB_CHANNEL * GetChipId ()
00071 + channelId ) ;
00072
00073 }