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 HVBOARDLOGICID(DPEName in varchar2) return varchar2 is
0003 
0004 alias varchar2(1000);
0005 superModuleNumber number;
0006 boardNumber number;
0007 invalid_board_name exception;
0008 
0009 /*
0010  For the HV boards the logic_ids are
0011 
0012  1061SS00CC
0013 
0014  SS = SM number 1-36
0015  CC = board number 0, 2, 4 or 6
0016  source string will be soemthing like ECAL_HV/SM11/board11  
0017 */
0018 
0019 begin
0020   alias:=getAliasForDevice(DPEName);
0021 
0022   superModuleNumber:=to_number(regexp_substr(alias,'[[:digit:]]+'));
0023   boardNumber:=to_number(regexp_substr(alias,'[[:digit:]]+',1,2));
0024 
0025   if superModuleNumber is null 
0026   or boardNumber is null
0027   or superModuleNumber>36 
0028   or boardNumber>6 then
0029     raise invalid_board_name;
0030   end if;
0031 
0032   return 1061000000+10000*superModuleNumber+boardNumber;
0033 end;
0034 /
0035 show errors;