CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/OnlineDB/CSCCondDB/interface/CSCMap.h

Go to the documentation of this file.
00001 #ifndef GUARD_cscmap_H
00002 #define GUARD_cscmap_H
00003 
00004 #include <iostream>
00005 #include "OnlineDB/Oracle/interface/Oracle.h"
00006 #include <string>
00007 
00008 class cscmap
00009 {
00010   private:
00011 
00012   oracle::occi::Environment *env;
00013   oracle::occi::Connection *con;
00014 
00015   public :
00019   cscmap () throw (oracle::occi::SQLException);
00023   ~cscmap () throw (oracle::occi::SQLException);
00024 
00025 /*  Method 'crate0_chamber' returns for a given logical crate
00026 |   number 'crate0' (values 0-59) and DMB number 'dmb' 
00027 |   (1-5,7-10; for station 4 (no ring 2) DMB No 1-3)
00028 |   chamber identifiers: 'chamber_id' is a string like 'ME+2/2/27'
00029 |   and 'chamber_num' - a corresponding numeric identifier:
00030 |   'ME+2/2/27' => 220122270. Digits from left to right mean:
00031 |   2 - Muon system, 2 - CSC (1=DT,3=RPC), 0 - to separate from further
00032 |   digits, 1 - +Endcap (2 - -Endcap), 2 - station number, 2 - ring number,
00033 |   27 - chamber number, 0 - digit reserved for layer number (=0 for
00034 |   the whole chamber). 'sector' - returns trigger sector number.
00035 |   If 'chamber_num' and 'sector' return -100, it means that 'crate0'
00036 |   is outside the permitted range; -10 means that 'dmb' is outside
00037 |   the permitted range.
00038 */
00039   void crate0_chamber (int crate0, int dmb, std::string *chamber_id,
00040                        int *chamber_num, int *sector,
00041                        int *first_strip_index, int *strips_per_layer,
00042                        int *chamber_index);
00043 /* Method 'crate_chamber' returns similar to previous information,
00044 |   but for physical (installed) 'crate' number. By now (2005/11/16)
00045 |   only 2 crates are installed (0 and 1).
00046 |   -1 returned means that infor mation for non-installed crate is requested.
00047 */
00048   void crate_chamber (int crate, int dmb, std::string *chamber_id,
00049                        int *chamber_num, int *sector,
00050                        int *first_strip_index, int *strips_per_layer,
00051                        int *chamber_index);
00052 /* Method 'chamber_crate' returns information for a given chamber,
00053 |   'chamber_id', (like 'ME+2/2/27'). 'crate' - physical (installed)
00054 |   crate number (-1 means that crate for the given chamber is not
00055 |   installed), 'dmb' - DMB number (1-5,7-10), 'sector' - trigger sector
00056 |   number, 'chamber_num' - numeric chamber identifier (see above),
00057 |   'crate0' - logical crate number.
00058 |   -100 returned means that 'chamber_id' format is incorrect.
00059 */
00060   void chamber_crate (std::string chamber_id, int *crate, int *dmb,
00061                       int *sector, int *chamber_num, int *crate0,
00062                       int *first_strip_index, int *strips_per_layer,
00063                       int *chamber_index);
00064 
00065 }; // end of class cscmap
00066 #endif