00001
00002
00003
00004
00005
00006 #include "StSsdConfig.hh"
00007 #include "StMessMgr.h"
00008
00009 #include "tables/St_ssdConfiguration_Table.h"
00010
00011 ClassImp(StSsdConfig)
00012
00013 StSsdConfig::StSsdConfig()
00014 :totLadderPresent(-1956)
00015 ,mNumberOfLadders(-1956)
00016 ,mNumberOfWafers(-1956)
00017 ,mNumberOfHybrids(-1956)
00018 ,mTotalNumberOfLadders(-1956)
00019 ,mTotalNumberOfHybrids(-1956)
00020 ,mNumberOfStrips(-1956)
00021
00022 { memset(mStatus,-1,sizeof(mStatus)); }
00023
00024 StSsdConfig::~StSsdConfig()
00025 {}
00026
00027 StSsdConfig::StSsdConfig(const StSsdConfig& geom)
00028 {}
00029
00030 StSsdConfig& StSsdConfig::operator = (const StSsdConfig& geom)
00031 {
00032 return *this;
00033 }
00034
00035 void StSsdConfig::setConfiguration()
00036 {
00037 if ((totLadderPresent == 1))
00038 mConfig = TString("LAD0");
00039 else if (totLadderPresent == 10)
00040 mConfig = TString("HALF");
00041 else if (totLadderPresent == 20)
00042 mConfig = TString("FULL");
00043 else
00044 mConfig = TString("NULL");
00045 }
00046
00047 void StSsdConfig::setConfiguration(const char* config)
00048 {
00049
00050
00051 mConfig = TString(config);
00052
00053 if ( !strncmp(config, "HALF", strlen("HALF")) ) {
00054 setNumberOfLadders(10);
00055 setNumberOfWafers(160);
00056 setNumberOfHybrids(2);
00057 setTotalNumberOfHybrids(320);
00058 } else if ( !strncmp(config, "FULL", strlen("FULL")) ) {
00059 setNumberOfLadders(20);
00060 setNumberOfWafers(320);
00061 setNumberOfHybrids(2);
00062 setTotalNumberOfHybrids(640);
00063 } else {
00064 LOG_ERROR << "Configuration of SSD not defined! It must be LAD0 or HALF or FULL "<< endm;
00065 }
00066 }
00067
00068 const char* StSsdConfig::getConfiguration()
00069 {
00070 return mConfig.Data();
00071 }
00072
00073