Loading [MathJax]/jax/input/TeX/config.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
28 bool orChannel)
const {
49 bool orChannel)
const {
50 if(orChannel)
return nullptr;
51 if(hpbin->
isValid()==
false)
return nullptr;
56 if(!hpb)
return nullptr;
61 if(!mapId)
return nullptr;
77 int port = blockInHPB*slbInBlock+nSlb;
87 if(!slb)
return nullptr;
90 int nInSlb = hpbin->
getChannel()/(numOfBlock*2);
91 int blockInSlb = nInSlb/2;
92 int nInBlock = nInSlb%2;
93 int channel = (chInBlock/2)*nInBlock;
109 bool orChannel)
const
111 if(orChannel)
return nullptr;
112 if(hpbin->
isValid()==
false)
return nullptr;
120 if(!hpb)
return nullptr;
125 if(!mapId)
return nullptr;
156 port = blockInHPB*slbInBlock+nSlb;
164 blockInSlb = (hpbin->
getChannel() - nSlb*(numOfBlock*2))/2;
165 posInHpb = (hpbin->
getChannel() - (numOfBlock*2)*nSlb)%2;
166 channel = (chInBlock/2)*posInHpb;
173 port = blockInHPB*slbInBlock+nSlb;
181 blockInSlb = (hpbin->
getChannel() - nSlb*(numOfBlock*2))/2;
182 posInHpb = (hpbin->
getChannel() - (numOfBlock*2)*nSlb)%2;
183 channel = (chInBlock/2)*posInHpb;
188 if(blockInHPB==0 && hpbin->
getChannel()<numOfBlock) port=1;
197 blockInSlb = (hpbin->
getChannel())%numOfBlock;
198 if(blockInHPB == 1 && hpbin->
getChannel() >= numOfBlock) blockInSlb = blockInSlb + numOfBlock/2;
207 delete mapId; mapId =
nullptr;
208 if(!slb)
return nullptr;
213 int SLBID = slb->
getId();
214 if((chInBlock*blockInSlb+
channel)>chInBlock*numOfBlock){
218 }
else if(
channel > chInBlock){
237 bool orChannel)
const {
238 if(orChannel)
return nullptr;
239 if(slbout->
isValid()==
false)
return nullptr;
245 if(!slb)
return nullptr;
250 if(!mapId)
return nullptr;
256 if(!hpb)
return nullptr;
267 int block = port/slbInBlock;
268 int hitId = (port%slbInBlock)*2+slbout->
getBlock();
285 if(hpb->
isValid()==
false)
return nullptr;
286 const int hpbId = hpb->
getId();
307 const int doubletMaxEntry = doubletP->
getMaxEntry();
308 for(
int i=0;
i<doubletMaxEntry;
i++){
322 const int tripletMaxEntry = tripletP->
getMaxEntry();
323 for(
int i=0;
i<tripletMaxEntry;
i++){
343 if(hpb->
isValid()==
false)
return nullptr;
345 const int hpbId = hpb->
getId();
351 for(
int i=0;
i<MaxEntry;
i++){
384 if(slb->
isValid()==
false)
return nullptr;
386 const int slbId = slb->
getId();
392 for(
int i=0;
i<MaxEntry;
i++){
ModuleIdType getModuleIdType(void) const
virtual bool isValid() const
MultipletType getMultipletType(void) const
SideType getSideType(void) const
SignalType getSignalType(void) const
RegionType getRegionType(void) const
virtual TGCModuleMap * getModuleInforHPB(const TGCModuleId *hpb, TGCId::ModuleType moduleType) const
ModuleType getModuleType(void) const
static int getNumberOfBlock(TGCId::ModuleType moduleType)
virtual TGCModuleId * getModule(void) const
virtual int getEntry(int entry, int column) const
TGCChannelId * getChannelInforHPB(const TGCChannelId *hpbin, TGCId::ModuleType moduleType, bool orChannel=false) const
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
virtual int getMaxEntry(void) const
virtual TGCChannelId * getChannelIn(const TGCChannelId *hpbin, bool orChannel=false) const
std::array< std::array< std::unique_ptr< TGCDatabase >, TGCId::MaxModuleType >, TGCId::MaxRegionType > m_database
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
void insert(int connector, TGCModuleId *moduleId)
static int getSlbInBlock(void)
TGCModuleId * popModuleId(int entry)
virtual TGCChannelId * getChannelOut(const TGCChannelId *slbout, bool orChannel=false) const
virtual int getSector() const
virtual TGCModuleMap * getModuleOut(const TGCModuleId *slb) const
virtual TGCModuleMap * getModuleIn(const TGCModuleId *hpb) const
static int getChannelInBlock(TGCId::ModuleType moduleType)
virtual bool isValid(void) const