#include "AliMpTriggerSegmentation.h"
#include "AliLog.h"
#include "AliMpConnection.h"
#include "AliMpMotif.h"
#include "AliMpMotifPosition.h"
#include "AliMpMotifType.h"
#include "AliMpPCB.h"
#include "AliMpSlat.h"
#include "AliMpTrigger.h"
ClassImp(AliMpTriggerSegmentation)
AliMpTriggerSegmentation::AliMpTriggerSegmentation()
: AliMpVSegmentation(),
fkSlat(0),
fIsOwner(false),
fNofStrips(0)
{
AliDebug(1,Form("this=%p Empty ctor",this));
}
AliMpTriggerSegmentation::AliMpTriggerSegmentation(
const AliMpTrigger* slat, Bool_t own)
: AliMpVSegmentation(),
fkSlat(slat),
fIsOwner(own),
fNofStrips(0)
{
AliDebug(1,Form("this=%p Normal ctor slat=%p",this,slat));
for ( Int_t ix = 0; ix <= MaxPadIndexX(); ++ix )
{
for ( Int_t iy = 0; iy <= MaxPadIndexY(); ++iy )
{
if ( HasPadByIndices(ix,iy) )
{
++fNofStrips;
}
}
}
}
AliMpTriggerSegmentation::~AliMpTriggerSegmentation()
{
if ( fIsOwner ) delete fkSlat;
AliDebug(1,Form("this=%p",this));
}
AliMpVPadIterator*
AliMpTriggerSegmentation::CreateIterator(const AliMpArea&) const
{
AliError("Not implemented for trigger");
return 0;
}
AliMpVPadIterator*
AliMpTriggerSegmentation::CreateIterator() const
{
AliError("Not implemented for trigger");
return 0;
}
Int_t
AliMpTriggerSegmentation::GetNeighbours(const AliMpPad& ,
TObjArray& ,
Bool_t ,
Bool_t ) const
{
AliError("Not implemented for trigger");
return 0;
}
Double_t
AliMpTriggerSegmentation::GetDimensionX() const
{
return Slat()->GetDimensionX();
}
Double_t
AliMpTriggerSegmentation::GetDimensionY() const
{
return Slat()->GetDimensionY();
}
void
AliMpTriggerSegmentation::GetAllElectronicCardIDs(TArrayI& ecn) const
{
Slat()->GetAllLocalBoardNumbers(ecn);
}
const char*
AliMpTriggerSegmentation::GetName() const
{
TString name("TriggerSegmentation");
if ( fkSlat)
{
name += ".";
name += fkSlat->GetName();
}
return name.Data();
}
Int_t
AliMpTriggerSegmentation::MaxPadIndexX() const
{
return fkSlat->GetNofPadsX()-1;
}
Int_t
AliMpTriggerSegmentation::MaxPadIndexY() const
{
return fkSlat->GetMaxNofPadsY()-1;
}
AliMpPad
AliMpTriggerSegmentation::PadByLocation(Int_t manuId, Int_t manuChannel,
Bool_t warning) const
{
AliMpPad pad;
for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
{
AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
AliMpPad pi = seg->PadByLocation(manuId,manuChannel,kFALSE);
if ( pi.IsValid() )
{
if ( !pad.IsValid() )
{
return PadByIndices(pi.GetIx(), pi.GetIy(), warning);
}
}
}
if ( warning && !pad.IsValid() )
{
AliWarning(Form("No pad found at location (%d,%d)", manuId, manuChannel));
}
return pad;
}
AliMpPad
AliMpTriggerSegmentation::PadByIndices(Int_t ix, Int_t iy,
Bool_t warning) const
{
AliMpPad pad;
for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
{
AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
AliMpPad pi = seg->PadByIndices(ix,iy,kFALSE);
if ( pi.IsValid() )
{
if ( !pad.IsValid() )
{
pad = AliMpPad(0, 0,
pi.GetIndices(),
pi.GetPositionX(),pi.GetPositionY(),
pi.GetDimensionX(), pi.GetDimensionY());
pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
}
else
{
pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
}
}
}
if ( warning && !pad.IsValid() )
{
AliWarning(Form("No pad found at indices (%d,%d)",ix, iy));
}
return pad;
}
AliMpPad
AliMpTriggerSegmentation::PadByPosition(Double_t x, Double_t y,
Bool_t warning) const
{
AliMpPad pad;
for ( Int_t i = 0; i < fkSlat->GetSize(); ++i )
{
AliMpVSegmentation* seg = fkSlat->GetLayerSegmentation(i);
AliMpPad pi = seg->PadByPosition(x,y,kFALSE);
if ( pi.IsValid() )
{
if ( !pad.IsValid() )
{
pad = AliMpPad(0, 0,
pi.GetIndices(),
pi.GetPositionX(),pi.GetPositionY(),
pi.GetDimensionX(), pi.GetDimensionY());
pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
}
else
{
pad.AddLocation(pi.GetManuId(), pi.GetManuChannel());
}
}
}
if ( warning && !pad.IsValid() )
{
AliWarning(Form("No pad found at position (%e,%e)",x,y));
}
return pad;
}
AliMp::PlaneType
AliMpTriggerSegmentation::PlaneType() const
{
return Slat()->PlaneType();
}
const AliMpTrigger*
AliMpTriggerSegmentation::Slat() const
{
return fkSlat;
}
Int_t
AliMpTriggerSegmentation::GetNofElectronicCards() const
{
TArrayI ecn;
fkSlat->GetAllLocalBoardNumbers(ecn);
return ecn.GetSize();
}
Double_t
AliMpTriggerSegmentation::GetPositionX() const
{
return Slat()->GetPositionX();
}
Double_t
AliMpTriggerSegmentation::GetPositionY() const
{
return Slat()->GetPositionY();
}
AliMpMotifPosition*
AliMpTriggerSegmentation::MotifPosition(Int_t ) const
{
AliError("Not implemented");
return 0x0;
}
Bool_t
AliMpTriggerSegmentation::HasMotifPosition(Int_t manuId) const
{
return AliMpVSegmentation::HasMotifPosition(manuId);
}
AliMpTriggerSegmentation.cxx:1 AliMpTriggerSegmentation.cxx:2 AliMpTriggerSegmentation.cxx:3 AliMpTriggerSegmentation.cxx:4 AliMpTriggerSegmentation.cxx:5 AliMpTriggerSegmentation.cxx:6 AliMpTriggerSegmentation.cxx:7 AliMpTriggerSegmentation.cxx:8 AliMpTriggerSegmentation.cxx:9 AliMpTriggerSegmentation.cxx:10 AliMpTriggerSegmentation.cxx:11 AliMpTriggerSegmentation.cxx:12 AliMpTriggerSegmentation.cxx:13 AliMpTriggerSegmentation.cxx:14 AliMpTriggerSegmentation.cxx:15 AliMpTriggerSegmentation.cxx:16 AliMpTriggerSegmentation.cxx:17 AliMpTriggerSegmentation.cxx:18 AliMpTriggerSegmentation.cxx:19 AliMpTriggerSegmentation.cxx:20 AliMpTriggerSegmentation.cxx:21 AliMpTriggerSegmentation.cxx:22 AliMpTriggerSegmentation.cxx:23 AliMpTriggerSegmentation.cxx:24 AliMpTriggerSegmentation.cxx:25 AliMpTriggerSegmentation.cxx:26 AliMpTriggerSegmentation.cxx:27 AliMpTriggerSegmentation.cxx:28 AliMpTriggerSegmentation.cxx:29 AliMpTriggerSegmentation.cxx:30 AliMpTriggerSegmentation.cxx:31 AliMpTriggerSegmentation.cxx:32 AliMpTriggerSegmentation.cxx:33 AliMpTriggerSegmentation.cxx:34 AliMpTriggerSegmentation.cxx:35 AliMpTriggerSegmentation.cxx:36 AliMpTriggerSegmentation.cxx:37 AliMpTriggerSegmentation.cxx:38 AliMpTriggerSegmentation.cxx:39 AliMpTriggerSegmentation.cxx:40 AliMpTriggerSegmentation.cxx:41 AliMpTriggerSegmentation.cxx:42 AliMpTriggerSegmentation.cxx:43 AliMpTriggerSegmentation.cxx:44 AliMpTriggerSegmentation.cxx:45 AliMpTriggerSegmentation.cxx:46 AliMpTriggerSegmentation.cxx:47 AliMpTriggerSegmentation.cxx:48 AliMpTriggerSegmentation.cxx:49 AliMpTriggerSegmentation.cxx:50 AliMpTriggerSegmentation.cxx:51 AliMpTriggerSegmentation.cxx:52 AliMpTriggerSegmentation.cxx:53 AliMpTriggerSegmentation.cxx:54 AliMpTriggerSegmentation.cxx:55 AliMpTriggerSegmentation.cxx:56 AliMpTriggerSegmentation.cxx:57 AliMpTriggerSegmentation.cxx:58 AliMpTriggerSegmentation.cxx:59 AliMpTriggerSegmentation.cxx:60 AliMpTriggerSegmentation.cxx:61 AliMpTriggerSegmentation.cxx:62 AliMpTriggerSegmentation.cxx:63 AliMpTriggerSegmentation.cxx:64 AliMpTriggerSegmentation.cxx:65 AliMpTriggerSegmentation.cxx:66 AliMpTriggerSegmentation.cxx:67 AliMpTriggerSegmentation.cxx:68 AliMpTriggerSegmentation.cxx:69 AliMpTriggerSegmentation.cxx:70 AliMpTriggerSegmentation.cxx:71 AliMpTriggerSegmentation.cxx:72 AliMpTriggerSegmentation.cxx:73 AliMpTriggerSegmentation.cxx:74 AliMpTriggerSegmentation.cxx:75 AliMpTriggerSegmentation.cxx:76 AliMpTriggerSegmentation.cxx:77 AliMpTriggerSegmentation.cxx:78 AliMpTriggerSegmentation.cxx:79 AliMpTriggerSegmentation.cxx:80 AliMpTriggerSegmentation.cxx:81 AliMpTriggerSegmentation.cxx:82 AliMpTriggerSegmentation.cxx:83 AliMpTriggerSegmentation.cxx:84 AliMpTriggerSegmentation.cxx:85 AliMpTriggerSegmentation.cxx:86 AliMpTriggerSegmentation.cxx:87 AliMpTriggerSegmentation.cxx:88 AliMpTriggerSegmentation.cxx:89 AliMpTriggerSegmentation.cxx:90 AliMpTriggerSegmentation.cxx:91 AliMpTriggerSegmentation.cxx:92 AliMpTriggerSegmentation.cxx:93 AliMpTriggerSegmentation.cxx:94 AliMpTriggerSegmentation.cxx:95 AliMpTriggerSegmentation.cxx:96 AliMpTriggerSegmentation.cxx:97 AliMpTriggerSegmentation.cxx:98 AliMpTriggerSegmentation.cxx:99 AliMpTriggerSegmentation.cxx:100 AliMpTriggerSegmentation.cxx:101 AliMpTriggerSegmentation.cxx:102 AliMpTriggerSegmentation.cxx:103 AliMpTriggerSegmentation.cxx:104 AliMpTriggerSegmentation.cxx:105 AliMpTriggerSegmentation.cxx:106 AliMpTriggerSegmentation.cxx:107 AliMpTriggerSegmentation.cxx:108 AliMpTriggerSegmentation.cxx:109 AliMpTriggerSegmentation.cxx:110 AliMpTriggerSegmentation.cxx:111 AliMpTriggerSegmentation.cxx:112 AliMpTriggerSegmentation.cxx:113 AliMpTriggerSegmentation.cxx:114 AliMpTriggerSegmentation.cxx:115 AliMpTriggerSegmentation.cxx:116 AliMpTriggerSegmentation.cxx:117 AliMpTriggerSegmentation.cxx:118 AliMpTriggerSegmentation.cxx:119 AliMpTriggerSegmentation.cxx:120 AliMpTriggerSegmentation.cxx:121 AliMpTriggerSegmentation.cxx:122 AliMpTriggerSegmentation.cxx:123 AliMpTriggerSegmentation.cxx:124 AliMpTriggerSegmentation.cxx:125 AliMpTriggerSegmentation.cxx:126 AliMpTriggerSegmentation.cxx:127 AliMpTriggerSegmentation.cxx:128 AliMpTriggerSegmentation.cxx:129 AliMpTriggerSegmentation.cxx:130 AliMpTriggerSegmentation.cxx:131 AliMpTriggerSegmentation.cxx:132 AliMpTriggerSegmentation.cxx:133 AliMpTriggerSegmentation.cxx:134 AliMpTriggerSegmentation.cxx:135 AliMpTriggerSegmentation.cxx:136 AliMpTriggerSegmentation.cxx:137 AliMpTriggerSegmentation.cxx:138 AliMpTriggerSegmentation.cxx:139 AliMpTriggerSegmentation.cxx:140 AliMpTriggerSegmentation.cxx:141 AliMpTriggerSegmentation.cxx:142 AliMpTriggerSegmentation.cxx:143 AliMpTriggerSegmentation.cxx:144 AliMpTriggerSegmentation.cxx:145 AliMpTriggerSegmentation.cxx:146 AliMpTriggerSegmentation.cxx:147 AliMpTriggerSegmentation.cxx:148 AliMpTriggerSegmentation.cxx:149 AliMpTriggerSegmentation.cxx:150 AliMpTriggerSegmentation.cxx:151 AliMpTriggerSegmentation.cxx:152 AliMpTriggerSegmentation.cxx:153 AliMpTriggerSegmentation.cxx:154 AliMpTriggerSegmentation.cxx:155 AliMpTriggerSegmentation.cxx:156 AliMpTriggerSegmentation.cxx:157 AliMpTriggerSegmentation.cxx:158 AliMpTriggerSegmentation.cxx:159 AliMpTriggerSegmentation.cxx:160 AliMpTriggerSegmentation.cxx:161 AliMpTriggerSegmentation.cxx:162 AliMpTriggerSegmentation.cxx:163 AliMpTriggerSegmentation.cxx:164 AliMpTriggerSegmentation.cxx:165 AliMpTriggerSegmentation.cxx:166 AliMpTriggerSegmentation.cxx:167 AliMpTriggerSegmentation.cxx:168 AliMpTriggerSegmentation.cxx:169 AliMpTriggerSegmentation.cxx:170 AliMpTriggerSegmentation.cxx:171 AliMpTriggerSegmentation.cxx:172 AliMpTriggerSegmentation.cxx:173 AliMpTriggerSegmentation.cxx:174 AliMpTriggerSegmentation.cxx:175 AliMpTriggerSegmentation.cxx:176 AliMpTriggerSegmentation.cxx:177 AliMpTriggerSegmentation.cxx:178 AliMpTriggerSegmentation.cxx:179 AliMpTriggerSegmentation.cxx:180 AliMpTriggerSegmentation.cxx:181 AliMpTriggerSegmentation.cxx:182 AliMpTriggerSegmentation.cxx:183 AliMpTriggerSegmentation.cxx:184 AliMpTriggerSegmentation.cxx:185 AliMpTriggerSegmentation.cxx:186 AliMpTriggerSegmentation.cxx:187 AliMpTriggerSegmentation.cxx:188 AliMpTriggerSegmentation.cxx:189 AliMpTriggerSegmentation.cxx:190 AliMpTriggerSegmentation.cxx:191 AliMpTriggerSegmentation.cxx:192 AliMpTriggerSegmentation.cxx:193 AliMpTriggerSegmentation.cxx:194 AliMpTriggerSegmentation.cxx:195 AliMpTriggerSegmentation.cxx:196 AliMpTriggerSegmentation.cxx:197 AliMpTriggerSegmentation.cxx:198 AliMpTriggerSegmentation.cxx:199 AliMpTriggerSegmentation.cxx:200 AliMpTriggerSegmentation.cxx:201 AliMpTriggerSegmentation.cxx:202 AliMpTriggerSegmentation.cxx:203 AliMpTriggerSegmentation.cxx:204 AliMpTriggerSegmentation.cxx:205 AliMpTriggerSegmentation.cxx:206 AliMpTriggerSegmentation.cxx:207 AliMpTriggerSegmentation.cxx:208 AliMpTriggerSegmentation.cxx:209 AliMpTriggerSegmentation.cxx:210 AliMpTriggerSegmentation.cxx:211 AliMpTriggerSegmentation.cxx:212 AliMpTriggerSegmentation.cxx:213 AliMpTriggerSegmentation.cxx:214 AliMpTriggerSegmentation.cxx:215 AliMpTriggerSegmentation.cxx:216 AliMpTriggerSegmentation.cxx:217 AliMpTriggerSegmentation.cxx:218 AliMpTriggerSegmentation.cxx:219 AliMpTriggerSegmentation.cxx:220 AliMpTriggerSegmentation.cxx:221 AliMpTriggerSegmentation.cxx:222 AliMpTriggerSegmentation.cxx:223 AliMpTriggerSegmentation.cxx:224 AliMpTriggerSegmentation.cxx:225 AliMpTriggerSegmentation.cxx:226 AliMpTriggerSegmentation.cxx:227 AliMpTriggerSegmentation.cxx:228 AliMpTriggerSegmentation.cxx:229 AliMpTriggerSegmentation.cxx:230 AliMpTriggerSegmentation.cxx:231 AliMpTriggerSegmentation.cxx:232 AliMpTriggerSegmentation.cxx:233 AliMpTriggerSegmentation.cxx:234 AliMpTriggerSegmentation.cxx:235 AliMpTriggerSegmentation.cxx:236 AliMpTriggerSegmentation.cxx:237 AliMpTriggerSegmentation.cxx:238 AliMpTriggerSegmentation.cxx:239 AliMpTriggerSegmentation.cxx:240 AliMpTriggerSegmentation.cxx:241 AliMpTriggerSegmentation.cxx:242 AliMpTriggerSegmentation.cxx:243 AliMpTriggerSegmentation.cxx:244 AliMpTriggerSegmentation.cxx:245 AliMpTriggerSegmentation.cxx:246 AliMpTriggerSegmentation.cxx:247 AliMpTriggerSegmentation.cxx:248 AliMpTriggerSegmentation.cxx:249 AliMpTriggerSegmentation.cxx:250 AliMpTriggerSegmentation.cxx:251 AliMpTriggerSegmentation.cxx:252 AliMpTriggerSegmentation.cxx:253 AliMpTriggerSegmentation.cxx:254 AliMpTriggerSegmentation.cxx:255 AliMpTriggerSegmentation.cxx:256 AliMpTriggerSegmentation.cxx:257 AliMpTriggerSegmentation.cxx:258 AliMpTriggerSegmentation.cxx:259 AliMpTriggerSegmentation.cxx:260 AliMpTriggerSegmentation.cxx:261 AliMpTriggerSegmentation.cxx:262 AliMpTriggerSegmentation.cxx:263 AliMpTriggerSegmentation.cxx:264 AliMpTriggerSegmentation.cxx:265 AliMpTriggerSegmentation.cxx:266 AliMpTriggerSegmentation.cxx:267 AliMpTriggerSegmentation.cxx:268 AliMpTriggerSegmentation.cxx:269 AliMpTriggerSegmentation.cxx:270 AliMpTriggerSegmentation.cxx:271 AliMpTriggerSegmentation.cxx:272 AliMpTriggerSegmentation.cxx:273 AliMpTriggerSegmentation.cxx:274 AliMpTriggerSegmentation.cxx:275 AliMpTriggerSegmentation.cxx:276 AliMpTriggerSegmentation.cxx:277 AliMpTriggerSegmentation.cxx:278 AliMpTriggerSegmentation.cxx:279 AliMpTriggerSegmentation.cxx:280 AliMpTriggerSegmentation.cxx:281 AliMpTriggerSegmentation.cxx:282 AliMpTriggerSegmentation.cxx:283 AliMpTriggerSegmentation.cxx:284 AliMpTriggerSegmentation.cxx:285 AliMpTriggerSegmentation.cxx:286 AliMpTriggerSegmentation.cxx:287 AliMpTriggerSegmentation.cxx:288 AliMpTriggerSegmentation.cxx:289 AliMpTriggerSegmentation.cxx:290 AliMpTriggerSegmentation.cxx:291 AliMpTriggerSegmentation.cxx:292 AliMpTriggerSegmentation.cxx:293 AliMpTriggerSegmentation.cxx:294 AliMpTriggerSegmentation.cxx:295 AliMpTriggerSegmentation.cxx:296 AliMpTriggerSegmentation.cxx:297 AliMpTriggerSegmentation.cxx:298 AliMpTriggerSegmentation.cxx:299 AliMpTriggerSegmentation.cxx:300 AliMpTriggerSegmentation.cxx:301 AliMpTriggerSegmentation.cxx:302 AliMpTriggerSegmentation.cxx:303 AliMpTriggerSegmentation.cxx:304 AliMpTriggerSegmentation.cxx:305 AliMpTriggerSegmentation.cxx:306 AliMpTriggerSegmentation.cxx:307 AliMpTriggerSegmentation.cxx:308 AliMpTriggerSegmentation.cxx:309 AliMpTriggerSegmentation.cxx:310 AliMpTriggerSegmentation.cxx:311 AliMpTriggerSegmentation.cxx:312 AliMpTriggerSegmentation.cxx:313 AliMpTriggerSegmentation.cxx:314 AliMpTriggerSegmentation.cxx:315 AliMpTriggerSegmentation.cxx:316 AliMpTriggerSegmentation.cxx:317 AliMpTriggerSegmentation.cxx:318 AliMpTriggerSegmentation.cxx:319 AliMpTriggerSegmentation.cxx:320 AliMpTriggerSegmentation.cxx:321 AliMpTriggerSegmentation.cxx:322 AliMpTriggerSegmentation.cxx:323 AliMpTriggerSegmentation.cxx:324 AliMpTriggerSegmentation.cxx:325 AliMpTriggerSegmentation.cxx:326 AliMpTriggerSegmentation.cxx:327 AliMpTriggerSegmentation.cxx:328 AliMpTriggerSegmentation.cxx:329 AliMpTriggerSegmentation.cxx:330 AliMpTriggerSegmentation.cxx:331 AliMpTriggerSegmentation.cxx:332 AliMpTriggerSegmentation.cxx:333 AliMpTriggerSegmentation.cxx:334 AliMpTriggerSegmentation.cxx:335 AliMpTriggerSegmentation.cxx:336 AliMpTriggerSegmentation.cxx:337 AliMpTriggerSegmentation.cxx:338 AliMpTriggerSegmentation.cxx:339 AliMpTriggerSegmentation.cxx:340 AliMpTriggerSegmentation.cxx:341 AliMpTriggerSegmentation.cxx:342 AliMpTriggerSegmentation.cxx:343 AliMpTriggerSegmentation.cxx:344 AliMpTriggerSegmentation.cxx:345 AliMpTriggerSegmentation.cxx:346 AliMpTriggerSegmentation.cxx:347 AliMpTriggerSegmentation.cxx:348 AliMpTriggerSegmentation.cxx:349 AliMpTriggerSegmentation.cxx:350 AliMpTriggerSegmentation.cxx:351 AliMpTriggerSegmentation.cxx:352 AliMpTriggerSegmentation.cxx:353 AliMpTriggerSegmentation.cxx:354 AliMpTriggerSegmentation.cxx:355 AliMpTriggerSegmentation.cxx:356 AliMpTriggerSegmentation.cxx:357 AliMpTriggerSegmentation.cxx:358 AliMpTriggerSegmentation.cxx:359 AliMpTriggerSegmentation.cxx:360 AliMpTriggerSegmentation.cxx:361 AliMpTriggerSegmentation.cxx:362 AliMpTriggerSegmentation.cxx:363 AliMpTriggerSegmentation.cxx:364 AliMpTriggerSegmentation.cxx:365 AliMpTriggerSegmentation.cxx:366 AliMpTriggerSegmentation.cxx:367 AliMpTriggerSegmentation.cxx:368 AliMpTriggerSegmentation.cxx:369 AliMpTriggerSegmentation.cxx:370 AliMpTriggerSegmentation.cxx:371 AliMpTriggerSegmentation.cxx:372 AliMpTriggerSegmentation.cxx:373 AliMpTriggerSegmentation.cxx:374 AliMpTriggerSegmentation.cxx:375 AliMpTriggerSegmentation.cxx:376 AliMpTriggerSegmentation.cxx:377 AliMpTriggerSegmentation.cxx:378 AliMpTriggerSegmentation.cxx:379