Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:00

0001 CREATE OR REPLACE
0002 function HVCHANNELLOGICID (DPEName in varchar2) return varchar2 is
0003 
0004 alias varchar2(1000);
0005 superModuleNumber number;
0006 moduleNumber number;
0007 channelNumber number;
0008 invalid_channel_name exception;
0009 
0010 begin
0011 /*
0012 For the HV channels the logic_ids are
0013  
0014  1051SS00CC
0015  
0016 SS = SM number 1-36
0017 CC = channel number 1-34
0018 
0019  source string will by something like ECAL_HV/SM11/M1/channel04
0020 */
0021   alias:=getAliasForDevice(DPEName);
0022 
0023   superModuleNumber:=to_number(regexp_substr(alias,'[[:digit:]]+'));
0024   moduleNumber:=to_number(regexp_substr(alias,'[[:digit:]]+',1,2));
0025   channelNumber:=to_number(regexp_substr(alias,'[[:digit:]]+',1,3));
0026 
0027   if superModuleNumber is null 
0028   or channelNumber is null 
0029   or superModuleNumber>36 
0030   or channelNumber>34 then
0031     raise invalid_channel_name;
0032   end if;
0033 
0034   return 1051000000+10000*superModuleNumber+channelNumber;
0035 end;
0036 /
0037 show errors;