CMS 3D CMS Logo

LogicID Class Reference

#include <DQM/EcalCommon/interface/LogicID.h>

List of all members.

Static Public Member Functions

static EcalLogicID getEcalLogicID (const char *name, const int id1=EcalLogicID::NULLID, const int id2=EcalLogicID::NULLID, const int id3=EcalLogicID::NULLID) throw ( std::runtime_error )


Detailed Description

Definition at line 20 of file LogicID.h.


Member Function Documentation

EcalLogicID LogicID::getEcalLogicID ( const char *  name,
const int  id1 = EcalLogicID::NULLID,
const int  id2 = EcalLogicID::NULLID,
const int  id3 = EcalLogicID::NULLID 
) throw ( std::runtime_error ) [static]

Definition at line 22 of file LogicID.cc.

References name, EcalLogicID::NULLID, and UL.

Referenced by EETimingClient::analyze(), EEPedestalClient::analyze(), EELaserClient::analyze(), EBTimingClient::analyze(), EEIntegrityClient::analyze(), EETestPulseClient::analyze(), EEPedestalOnlineClient::analyze(), EELedClient::analyze(), EBTestPulseClient::analyze(), EBLaserClient::analyze(), EBPedestalOnlineClient::analyze(), EBPedestalClient::analyze(), EBIntegrityClient::analyze(), EcalEndcapMonitorClient::endRunDb(), EcalBarrelMonitorClient::endRunDb(), EcalErrorMask::readFile(), EELedClient::writeDb(), EBTestPulseClient::writeDb(), EcalEndcapMonitorClient::writeDb(), EETimingClient::writeDb(), EECosmicClient::writeDb(), EBLaserClient::writeDb(), EEPedestalOnlineClient::writeDb(), EEBeamCaloClient::writeDb(), EBPedestalOnlineClient::writeDb(), EBPedestalClient::writeDb(), EBTimingClient::writeDb(), EETestPulseClient::writeDb(), EcalBarrelMonitorClient::writeDb(), EEIntegrityClient::writeDb(), EBCosmicClient::writeDb(), EEPedestalClient::writeDb(), EELaserClient::writeDb(), EBBeamCaloClient::writeDb(), and EBIntegrityClient::writeDb().

00025                                                                                {
00026 
00027   // EcalBarrel
00028 
00029   if( strcmp(name, "EB") == 0 ) {
00030     return( EcalLogicID( "EB",
00031                          1000000000UL ) );
00032   }
00033   if( strcmp(name, "EB_crystal_number") == 0 ) {
00034     return( EcalLogicID( "EB_crystal_number",
00035                          1011000000UL+10000*id1+id2,
00036                          id1,
00037                          id2 ) );
00038   }
00039   if( strcmp(name, "EB_trigger_tower") == 0 ) {
00040     return( EcalLogicID( "EB_trigger_tower",
00041                          1021000000UL+10000*id1+id2,
00042                          id1,
00043                          id2 ) );
00044   }
00045   if( strcmp(name, "EB_mem_channel") == 0 ) {
00046     return( EcalLogicID( "EB_mem_channel",
00047                          1191000000UL+10000*id1+id2,
00048                          id1,
00049                          id2 ) );
00050   }
00051   if( strcmp(name, "EB_mem_TT") == 0 ) {
00052     return( EcalLogicID( "EB_mem_TT",
00053                          1181000000UL+10000*id1+id2,
00054                          id1,
00055                          id2 ) );
00056   }
00057   if( strcmp(name, "EB_LM_PN") == 0 ) {
00058     return( EcalLogicID( "EB_LM_PN",
00059                          1131000000UL+10000*id1+id2,
00060                          id1,
00061                          id2 ) );
00062   }
00063 
00064   // EcalEndcap
00065 
00066   if( strcmp(name, "EE") == 0 ) {
00067     return( EcalLogicID( "EE",
00068                          2000000000UL ) );
00069   }
00070   if( strcmp(name, "EE_crystal_number") == 0 ) {
00071     return( EcalLogicID( "EE_crystal_number",
00072                          2010000000UL+1000000*((id1>=1&&id1<=9)?2:0)+1000*int(id2/1000)+int(id2%1000),
00073                          (id1>=1&&id1<=9)?+1:-1,
00074                          int(id2/1000),
00075                          int(id2%1000) ) );
00076   }
00077   if( strcmp(name, "EE_readout_tower") == 0 ) {
00078     return( EcalLogicID( "EE_readout_tower",
00079                          2110000000UL+100*((id1>=1&&id1<=9)?(646+(id1-1)):(601+(id1-9)))+id2,
00080                          ((id1>=1&&id1<=9)?(646+(id1-1)):(601+(id1-9))),
00081                          id2 ) );
00082   }
00083   if( strcmp(name, "EE_mem_channel") == 0 ) {
00084     return( EcalLogicID( "EE_mem_channel", EcalLogicID::NULLID ) );
00085   }
00086   if( strcmp(name, "EE_mem_TT") == 0 ) {
00087     return( EcalLogicID( "EE_mem_TT", EcalLogicID::NULLID ) );
00088   }
00089   if( strcmp(name, "EE_LM_PN") == 0 ) {
00090     return( EcalLogicID( "EE_mem_TT", EcalLogicID::NULLID ) );
00091   }
00092 
00093   throw( std::runtime_error( "Unknown 'name': " + std::string( name ) ) );
00094   return( EcalLogicID( std::string( "" ), EcalLogicID::NULLID ) );
00095 
00096 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:55 2009 for CMSSW by  doxygen 1.5.4