StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSsdConfig.cc
1 /***************************************************************************
2  * author: christelle Roy
3  * Description: SSD Config
4  **************************************************************************/
5 
6 #include "StSsdConfig.hh"
7 #include "StMessMgr.h"
8 
9 #include "tables/St_ssdConfiguration_Table.h"
10 
11 ClassImp(StSsdConfig)
12 
14  :totLadderPresent(-1956) // Number of Present Ladders //////////// A MODIFIER PLUS TARD
15  ,mNumberOfLadders(-1956) // Number of Present Ladders
16  ,mNumberOfWafers(-1956) // Number of Wafers of each Ladder (Barrel dependent)
17  ,mNumberOfHybrids(-1956) // Number of Hybrids of each Wafer
18  ,mTotalNumberOfLadders(-1956) // Total Number of Ladders (entire SSD)
19  ,mTotalNumberOfHybrids(-1956) // Total Number of Hybrids (entire SSD)
20  ,mNumberOfStrips(-1956) // Number of Strips in one hybrid
21 
22 { memset(mStatus,-1,sizeof(mStatus)); }
23 
24 StSsdConfig::~StSsdConfig()
25 {}
26 
27 StSsdConfig::StSsdConfig(const StSsdConfig& geom)
28 {}
29 
30 StSsdConfig& StSsdConfig::operator = (const StSsdConfig& geom)
31 {
32  return *this;
33 }
34 
35 void StSsdConfig::setConfiguration()
36 {
37  if ((totLadderPresent == 1)) // LADDER 0
38  mConfig = TString("LAD0");
39  else if (totLadderPresent == 10) // HALF SSD
40  mConfig = TString("HALF");
41  else if (totLadderPresent == 20) // FULL SSD
42  mConfig = TString("FULL");
43  else
44  mConfig = TString("NULL");
45 }
46 
47 void StSsdConfig::setConfiguration(const char* config)
48 {
49  // set the Collection configuration
50 
51  mConfig = TString(config);
52 
53  if ( !strncmp(config, "HALF", strlen("HALF")) ) {
54  setNumberOfLadders(10);
55  setNumberOfWafers(160);
56  setNumberOfHybrids(2);
57  setTotalNumberOfHybrids(320);
58  } else if ( !strncmp(config, "FULL", strlen("FULL")) ) {
59  setNumberOfLadders(20);
60  setNumberOfWafers(320);
61  setNumberOfHybrids(2);
62  setTotalNumberOfHybrids(640);
63  } else {
64  LOG_ERROR << "Configuration of SSD not defined! It must be LAD0 or HALF or FULL "<< endm;
65  }
66 }
67 
68 const char* StSsdConfig::getConfiguration()
69 {
70  return mConfig.Data();
71 }
72 
73