#include "AliMUONDigitMaker.h"
#include "AliMUONDDLTrigger.h"
#include "AliMUONDarcHeader.h"
#include "AliMUONVDigit.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONGlobalTrigger.h"
#include "AliMUONLocalStruct.h"
#include "AliMUONLocalTrigger.h"
#include "AliMUONLogger.h"
#include "AliMUONRawStreamTrackerHP.h"
#include "AliMUONRawStreamTriggerHP.h"
#include "AliMUONRegHeader.h"
#include "AliMUONVTriggerStore.h"
#include "AliMpCDB.h"
#include "AliMpDetElement.h"
#include "AliMpTriggerCrate.h"
#include "AliMpLocalBoard.h"
#include "AliMpCathodType.h"
#include "AliMpDDLStore.h"
#include "AliMpDEManager.h"
#include "AliMpPad.h"
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include "AliCodeTimer.h"
#include "AliLog.h"
#include "AliRawReader.h"
#include <TArrayS.h>
using std::endl;
using std::cout;
ClassImp(AliMUONDigitMaker)
AliMUONDigitMaker::AliMUONDigitMaker(Bool_t enableErrorLogger, Bool_t a, Bool_t b) :
TObject(),
fScalerEvent(kFALSE),
fMakeTriggerDigits(kFALSE),
fMakeTrackerDigits(kFALSE),
fRawStreamTracker(new AliMUONRawStreamTrackerHP),
fRawStreamTrigger(new AliMUONRawStreamTriggerHP),
fDigitStore(0x0),
fTriggerStore(0x0),
fLogger(new AliMUONLogger(10000)){
if ( !a || !b ) AliFatal("no longer supported");
AliDebug(1,"");
if (enableErrorLogger)
{
fRawStreamTracker->EnabbleErrorLogger();
fRawStreamTrigger->EnabbleErrorLogger();
}
else
{
fRawStreamTracker->DisableWarnings();
}
SetMakeTriggerDigits();
SetMakeTrackerDigits();
if ( ! AliMpCDB::LoadDDLStore() ) {
AliFatal("Could not access mapping from OCDB !");
}
}
AliMUONDigitMaker::AliMUONDigitMaker(Bool_t enableErrorLogger) :
TObject(),
fScalerEvent(kFALSE),
fMakeTriggerDigits(kFALSE),
fMakeTrackerDigits(kFALSE),
fRawStreamTracker(new AliMUONRawStreamTrackerHP),
fRawStreamTrigger(new AliMUONRawStreamTriggerHP),
fDigitStore(0x0),
fTriggerStore(0x0),
fLogger(new AliMUONLogger(10000))
{
AliDebug(1,"");
if (enableErrorLogger)
{
fRawStreamTracker->EnabbleErrorLogger();
fRawStreamTrigger->EnabbleErrorLogger();
}
else
{
fRawStreamTracker->DisableWarnings();
}
SetMakeTriggerDigits();
SetMakeTrackerDigits();
if ( ! AliMpCDB::LoadDDLStore() ) {
AliFatal("Could not access mapping from OCDB !");
}
}
AliMUONDigitMaker::~AliMUONDigitMaker()
{
delete fRawStreamTracker;
delete fRawStreamTrigger;
delete fLogger;
}
void
AliMUONDigitMaker::Print(Option_t*) const
{
cout << "RawStreamerTracker class=" << fRawStreamTracker->ClassName()
<< " MakeTriggerDigits=" << fMakeTriggerDigits
<< " ScalerEvent=" << fScalerEvent
<< " DigitStore=" << fDigitStore
<< " TriggerStore=" << fTriggerStore << endl;
if ( fLogger ) fLogger->Print();
}
Int_t
AliMUONDigitMaker::Raw2Digits(AliRawReader* rawReader,
AliMUONVDigitStore* digitStore,
AliMUONVTriggerStore* triggerStore)
{
AliDebug(1,Form("rawReader=%p digitStore=%p triggerStore=%p",
rawReader,digitStore,triggerStore));
fDigitStore = digitStore;
fTriggerStore = triggerStore;
if (!fDigitStore && !fTriggerStore)
{
fLogger->Log("No digit or trigger store given. Nothing to do...");
return kTriggerBAD & kTrackerBAD;
}
Int_t tracker(kOK);
Int_t trigger(kOK);
if ( fDigitStore ) fDigitStore->Clear();
if ( fMakeTrackerDigits ) {
if ( fDigitStore ) tracker = ReadTrackerDDL(rawReader);
else fLogger->Log("Asking for tracker digits but digitStore is null");
}
if ( fTriggerStore || fMakeTriggerDigits )
{
if ( fTriggerStore ) fTriggerStore->Clear();
if ( fMakeTriggerDigits && !fDigitStore )
{
fLogger->Log("Asking for trigger digits but digitStore is null");
}
else
{
trigger = ReadTriggerDDL(rawReader);
}
}
return tracker | trigger;
}
Int_t
AliMUONDigitMaker::ReadTrackerDDL(AliRawReader* rawReader)
{
AliDebug(1,"");
AliCodeTimerAuto("",0);
Int_t buspatchId;
UChar_t channelId;
UShort_t manuId;
UShort_t charge;
fRawStreamTracker->SetReader(rawReader);
fRawStreamTracker->First();
while ( fRawStreamTracker->Next(buspatchId,manuId,channelId,charge,kTRUE) )
{
Int_t detElemId = AliMpDDLStore::Instance()->GetDEfromBus(buspatchId);
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
if (!de)
{
fLogger->Log(Form("DE %04d does not exist !", detElemId));
continue;
}
if (!de->IsConnectedChannel(manuId,channelId))
{
continue;
}
const AliMpVSegmentation* seg
= AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,
manuId);
if (!seg)
{
fLogger->Log(Form("(DE,MANUID)=(%04d,%04d) is not valid",detElemId,manuId));
continue;
}
AliMp::CathodType cathodeType = de->GetCathodType(seg->PlaneType());
AliMpPad pad = seg->PadByLocation(manuId,channelId,kFALSE);
if (!pad.IsValid())
{
fLogger->Log(Form("No pad for detElemId: %d, manuId: %d, channelId: %d",
detElemId, manuId, channelId));
continue;
}
AliMUONVDigit* digit = fDigitStore->Add(detElemId,manuId,channelId,cathodeType,
AliMUONVDigitStore::kDeny);
if (!digit)
{
fLogger->Log(Form("Digit DE %04d Manu %04d Channel %02d could not be added",
detElemId, manuId, channelId));
continue;
}
digit->SetPadXY(pad.GetIx(),pad.GetIy());
digit->SetADC(charge);
}
if ( fRawStreamTracker->IsErrorMessage() )
{
return kTrackerBAD;
}
return kOK;
}
Int_t
AliMUONDigitMaker::ReadTriggerDDL(AliRawReader* rawReader)
{
const AliMUONRawStreamTriggerHP::AliHeader* darcHeader = 0x0;
const AliMUONRawStreamTriggerHP::AliRegionalHeader* regHeader = 0x0;
const AliMUONRawStreamTriggerHP::AliLocalStruct* localStruct = 0x0;
Int_t loCircuit;
fRawStreamTrigger->SetReader(rawReader);
while (fRawStreamTrigger->NextDDL())
{
darcHeader = fRawStreamTrigger->GetHeaders();
if (fTriggerStore)
{
if (darcHeader->GetGlobalFlag())
{
AliMUONGlobalTrigger globalTrigger;
globalTrigger.SetFromGlobalResponse(darcHeader->GetGlobalOutput());
globalTrigger.SetFromGlobalInput(darcHeader->GetGlobalHeader()->fInput);
fTriggerStore->SetGlobal(globalTrigger);
}
}
Int_t nReg = fRawStreamTrigger->GetRegionalHeaderCount();
for(Int_t iReg = 0; iReg < nReg ;iReg++)
{
AliMpTriggerCrate* crate = AliMpDDLStore::Instance()->
GetTriggerCrate(fRawStreamTrigger->GetDDL(), iReg);
if (!crate) {
fLogger->Log(Form("Missing crate number %d in DDL %d\n", iReg, fRawStreamTrigger->GetDDL()));
continue;
}
regHeader = fRawStreamTrigger->GetRegionalHeader(iReg);
Int_t nLocal = regHeader->GetLocalStructCount();
for(Int_t iLocal = 0; iLocal < nLocal; iLocal++)
{
localStruct = regHeader->GetLocalStruct(iLocal);
if (localStruct) {
loCircuit = crate->GetLocalBoardId(localStruct->GetId());
if ( !loCircuit ) continue;
if (fTriggerStore)
{
AliMUONLocalTrigger localTrigger;
localTrigger.SetLocalStruct(loCircuit, *localStruct);
fTriggerStore->Add(localTrigger);
}
if ( fMakeTriggerDigits )
{
TArrayS xyPattern[2];
localStruct->GetXPattern(xyPattern[0]);
localStruct->GetYPattern(xyPattern[1]);
TriggerDigits(loCircuit, xyPattern, *fDigitStore);
}
}
}
}
}
return kOK;
}
Int_t AliMUONDigitMaker::TriggerDigits(Int_t nBoard,
const TArrayS* xyPattern,
AliMUONVDigitStore& digitStore, Bool_t warn) const
{
AliCodeTimerAuto("",0);
Int_t detElemId;
AliMpLocalBoard* localBoard = AliMpDDLStore::Instance()->GetLocalBoard(nBoard);
if ( ! localBoard->IsNotified() ) {
nBoard = localBoard->GetInputXfrom();
}
Int_t n,b;
for (Int_t iChamber = 0; iChamber < 4; ++iChamber)
{
for (Int_t iCath = 0; iCath < 2; ++iCath)
{
Int_t pattern = (Int_t)xyPattern[iCath].At(iChamber);
if (!pattern) continue;
detElemId = AliMpDDLStore::Instance()->GetDEfromLocalBoard(nBoard, iChamber);
const AliMpVSegmentation* seg
= AliMpSegmentation::Instance()
->GetMpSegmentation(detElemId, AliMp::GetCathodType(iCath));
for (Int_t ibitxy = 0; ibitxy < 16; ++ibitxy)
{
if ((pattern >> ibitxy) & 0x1)
{
Int_t offset = 0;
if (iCath && localBoard->GetSwitch(AliMpLocalBoard::kZeroAllYLSB)) offset = -8;
AliMpPad pad = seg->PadByLocation(nBoard,ibitxy+offset,warn);
if (!pad.IsValid())
{
fLogger->Log(Form("No pad for detElemId: %d, nboard %d, ibitxy: %d\n",
detElemId, nBoard, ibitxy));
continue;
}
n = pad.GetLocalBoardId(0);
b = pad.GetLocalBoardChannel(0);
AliDebug(1,Form("Using localBoard %d ixy %d instead of %d,%d",
n,b,nBoard,ibitxy));
AliMUONVDigit* digit = digitStore.Add(detElemId,n,b,iCath,AliMUONVDigitStore::kDeny);
if (!digit)
{
AliDebug(1, Form("Digit DE %04d LocalBoard %03d ibitxy %02d cath %d already in store",
detElemId,nBoard,ibitxy,iCath));
continue;
}
Int_t padX = pad.GetIx();
Int_t padY = pad.GetIy();
digit->SetPadXY(padX,padY);
digit->SetCharge(1.);
}
}
}
}
return kTRUE;
}
Bool_t
AliMUONDigitMaker::TriggerToDigitsStore(const AliMUONVTriggerStore& triggerStore,
AliMUONVDigitStore& digitStore) const
{
digitStore.Clear();
AliMUONLocalTrigger* locTrg;
TIter next(triggerStore.CreateLocalIterator());
while ( ( locTrg = static_cast<AliMUONLocalTrigger*>(next()) ) )
{
if (locTrg->IsNull()) continue;
TArrayS xyPattern[2];
locTrg->GetXPattern(xyPattern[0]);
locTrg->GetYPattern(xyPattern[1]);
Int_t nBoard = locTrg->LoCircuit();
TriggerDigits(nBoard, xyPattern, digitStore);
}
return kTRUE;
}
void
AliMUONDigitMaker::SetTryRecover(Bool_t flag)
{
fRawStreamTracker->TryRecover(flag);
}
AliMUONDigitMaker.cxx:100 AliMUONDigitMaker.cxx:101 AliMUONDigitMaker.cxx:102 AliMUONDigitMaker.cxx:103 AliMUONDigitMaker.cxx:104 AliMUONDigitMaker.cxx:105 AliMUONDigitMaker.cxx:106 AliMUONDigitMaker.cxx:107 AliMUONDigitMaker.cxx:108 AliMUONDigitMaker.cxx:109 AliMUONDigitMaker.cxx:110 AliMUONDigitMaker.cxx:111 AliMUONDigitMaker.cxx:112 AliMUONDigitMaker.cxx:113 AliMUONDigitMaker.cxx:114 AliMUONDigitMaker.cxx:115 AliMUONDigitMaker.cxx:116 AliMUONDigitMaker.cxx:117 AliMUONDigitMaker.cxx:118 AliMUONDigitMaker.cxx:119 AliMUONDigitMaker.cxx:120 AliMUONDigitMaker.cxx:121 AliMUONDigitMaker.cxx:122 AliMUONDigitMaker.cxx:123 AliMUONDigitMaker.cxx:124 AliMUONDigitMaker.cxx:125 AliMUONDigitMaker.cxx:126 AliMUONDigitMaker.cxx:127 AliMUONDigitMaker.cxx:128 AliMUONDigitMaker.cxx:129 AliMUONDigitMaker.cxx:130 AliMUONDigitMaker.cxx:131 AliMUONDigitMaker.cxx:132 AliMUONDigitMaker.cxx:133 AliMUONDigitMaker.cxx:134 AliMUONDigitMaker.cxx:135 AliMUONDigitMaker.cxx:136 AliMUONDigitMaker.cxx:137 AliMUONDigitMaker.cxx:138 AliMUONDigitMaker.cxx:139 AliMUONDigitMaker.cxx:140 AliMUONDigitMaker.cxx:141 AliMUONDigitMaker.cxx:142 AliMUONDigitMaker.cxx:143 AliMUONDigitMaker.cxx:144 AliMUONDigitMaker.cxx:145 AliMUONDigitMaker.cxx:146 AliMUONDigitMaker.cxx:147 AliMUONDigitMaker.cxx:148 AliMUONDigitMaker.cxx:149 AliMUONDigitMaker.cxx:150 AliMUONDigitMaker.cxx:151 AliMUONDigitMaker.cxx:152 AliMUONDigitMaker.cxx:153 AliMUONDigitMaker.cxx:154 AliMUONDigitMaker.cxx:155 AliMUONDigitMaker.cxx:156 AliMUONDigitMaker.cxx:157 AliMUONDigitMaker.cxx:158 AliMUONDigitMaker.cxx:159 AliMUONDigitMaker.cxx:160 AliMUONDigitMaker.cxx:161 AliMUONDigitMaker.cxx:162 AliMUONDigitMaker.cxx:163 AliMUONDigitMaker.cxx:164 AliMUONDigitMaker.cxx:165 AliMUONDigitMaker.cxx:166 AliMUONDigitMaker.cxx:167 AliMUONDigitMaker.cxx:168 AliMUONDigitMaker.cxx:169 AliMUONDigitMaker.cxx:170 AliMUONDigitMaker.cxx:171 AliMUONDigitMaker.cxx:172 AliMUONDigitMaker.cxx:173 AliMUONDigitMaker.cxx:174 AliMUONDigitMaker.cxx:175 AliMUONDigitMaker.cxx:176 AliMUONDigitMaker.cxx:177 AliMUONDigitMaker.cxx:178 AliMUONDigitMaker.cxx:179 AliMUONDigitMaker.cxx:180 AliMUONDigitMaker.cxx:181 AliMUONDigitMaker.cxx:182 AliMUONDigitMaker.cxx:183 AliMUONDigitMaker.cxx:184 AliMUONDigitMaker.cxx:185 AliMUONDigitMaker.cxx:186 AliMUONDigitMaker.cxx:187 AliMUONDigitMaker.cxx:188 AliMUONDigitMaker.cxx:189 AliMUONDigitMaker.cxx:190 AliMUONDigitMaker.cxx:191 AliMUONDigitMaker.cxx:192 AliMUONDigitMaker.cxx:193 AliMUONDigitMaker.cxx:194 AliMUONDigitMaker.cxx:195 AliMUONDigitMaker.cxx:196 AliMUONDigitMaker.cxx:197 AliMUONDigitMaker.cxx:198 AliMUONDigitMaker.cxx:199 AliMUONDigitMaker.cxx:200 AliMUONDigitMaker.cxx:201 AliMUONDigitMaker.cxx:202 AliMUONDigitMaker.cxx:203 AliMUONDigitMaker.cxx:204 AliMUONDigitMaker.cxx:205 AliMUONDigitMaker.cxx:206 AliMUONDigitMaker.cxx:207 AliMUONDigitMaker.cxx:208 AliMUONDigitMaker.cxx:209 AliMUONDigitMaker.cxx:210 AliMUONDigitMaker.cxx:211 AliMUONDigitMaker.cxx:212 AliMUONDigitMaker.cxx:213 AliMUONDigitMaker.cxx:214 AliMUONDigitMaker.cxx:215 AliMUONDigitMaker.cxx:216 AliMUONDigitMaker.cxx:217 AliMUONDigitMaker.cxx:218 AliMUONDigitMaker.cxx:219 AliMUONDigitMaker.cxx:220 AliMUONDigitMaker.cxx:221 AliMUONDigitMaker.cxx:222 AliMUONDigitMaker.cxx:223 AliMUONDigitMaker.cxx:224 AliMUONDigitMaker.cxx:225 AliMUONDigitMaker.cxx:226 AliMUONDigitMaker.cxx:227 AliMUONDigitMaker.cxx:228 AliMUONDigitMaker.cxx:229 AliMUONDigitMaker.cxx:230 AliMUONDigitMaker.cxx:231 AliMUONDigitMaker.cxx:232 AliMUONDigitMaker.cxx:233 AliMUONDigitMaker.cxx:234 AliMUONDigitMaker.cxx:235 AliMUONDigitMaker.cxx:236 AliMUONDigitMaker.cxx:237 AliMUONDigitMaker.cxx:238 AliMUONDigitMaker.cxx:239 AliMUONDigitMaker.cxx:240 AliMUONDigitMaker.cxx:241 AliMUONDigitMaker.cxx:242 AliMUONDigitMaker.cxx:243 AliMUONDigitMaker.cxx:244 AliMUONDigitMaker.cxx:245 AliMUONDigitMaker.cxx:246 AliMUONDigitMaker.cxx:247 AliMUONDigitMaker.cxx:248 AliMUONDigitMaker.cxx:249 AliMUONDigitMaker.cxx:250 AliMUONDigitMaker.cxx:251 AliMUONDigitMaker.cxx:252 AliMUONDigitMaker.cxx:253 AliMUONDigitMaker.cxx:254 AliMUONDigitMaker.cxx:255 AliMUONDigitMaker.cxx:256 AliMUONDigitMaker.cxx:257 AliMUONDigitMaker.cxx:258 AliMUONDigitMaker.cxx:259 AliMUONDigitMaker.cxx:260 AliMUONDigitMaker.cxx:261 AliMUONDigitMaker.cxx:262 AliMUONDigitMaker.cxx:263 AliMUONDigitMaker.cxx:264 AliMUONDigitMaker.cxx:265 AliMUONDigitMaker.cxx:266 AliMUONDigitMaker.cxx:267 AliMUONDigitMaker.cxx:268 AliMUONDigitMaker.cxx:269 AliMUONDigitMaker.cxx:270 AliMUONDigitMaker.cxx:271 AliMUONDigitMaker.cxx:272 AliMUONDigitMaker.cxx:273 AliMUONDigitMaker.cxx:274 AliMUONDigitMaker.cxx:275 AliMUONDigitMaker.cxx:276 AliMUONDigitMaker.cxx:277 AliMUONDigitMaker.cxx:278 AliMUONDigitMaker.cxx:279 AliMUONDigitMaker.cxx:280 AliMUONDigitMaker.cxx:281 AliMUONDigitMaker.cxx:282 AliMUONDigitMaker.cxx:283 AliMUONDigitMaker.cxx:284 AliMUONDigitMaker.cxx:285 AliMUONDigitMaker.cxx:286 AliMUONDigitMaker.cxx:287 AliMUONDigitMaker.cxx:288 AliMUONDigitMaker.cxx:289 AliMUONDigitMaker.cxx:290 AliMUONDigitMaker.cxx:291 AliMUONDigitMaker.cxx:292 AliMUONDigitMaker.cxx:293 AliMUONDigitMaker.cxx:294 AliMUONDigitMaker.cxx:295 AliMUONDigitMaker.cxx:296 AliMUONDigitMaker.cxx:297 AliMUONDigitMaker.cxx:298 AliMUONDigitMaker.cxx:299 AliMUONDigitMaker.cxx:300 AliMUONDigitMaker.cxx:301 AliMUONDigitMaker.cxx:302 AliMUONDigitMaker.cxx:303 AliMUONDigitMaker.cxx:304 AliMUONDigitMaker.cxx:305 AliMUONDigitMaker.cxx:306 AliMUONDigitMaker.cxx:307 AliMUONDigitMaker.cxx:308 AliMUONDigitMaker.cxx:309 AliMUONDigitMaker.cxx:310 AliMUONDigitMaker.cxx:311 AliMUONDigitMaker.cxx:312 AliMUONDigitMaker.cxx:313 AliMUONDigitMaker.cxx:314 AliMUONDigitMaker.cxx:315 AliMUONDigitMaker.cxx:316 AliMUONDigitMaker.cxx:317 AliMUONDigitMaker.cxx:318 AliMUONDigitMaker.cxx:319 AliMUONDigitMaker.cxx:320 AliMUONDigitMaker.cxx:321 AliMUONDigitMaker.cxx:322 AliMUONDigitMaker.cxx:323 AliMUONDigitMaker.cxx:324 AliMUONDigitMaker.cxx:325 AliMUONDigitMaker.cxx:326 AliMUONDigitMaker.cxx:327 AliMUONDigitMaker.cxx:328 AliMUONDigitMaker.cxx:329 AliMUONDigitMaker.cxx:330 AliMUONDigitMaker.cxx:331 AliMUONDigitMaker.cxx:332 AliMUONDigitMaker.cxx:333 AliMUONDigitMaker.cxx:334 AliMUONDigitMaker.cxx:335 AliMUONDigitMaker.cxx:336 AliMUONDigitMaker.cxx:337 AliMUONDigitMaker.cxx:338 AliMUONDigitMaker.cxx:339 AliMUONDigitMaker.cxx:340 AliMUONDigitMaker.cxx:341 AliMUONDigitMaker.cxx:342 AliMUONDigitMaker.cxx:343 AliMUONDigitMaker.cxx:344 AliMUONDigitMaker.cxx:345 AliMUONDigitMaker.cxx:346 AliMUONDigitMaker.cxx:347 AliMUONDigitMaker.cxx:348 AliMUONDigitMaker.cxx:349 AliMUONDigitMaker.cxx:350 AliMUONDigitMaker.cxx:351 AliMUONDigitMaker.cxx:352 AliMUONDigitMaker.cxx:353 AliMUONDigitMaker.cxx:354 AliMUONDigitMaker.cxx:355 AliMUONDigitMaker.cxx:356 AliMUONDigitMaker.cxx:357 AliMUONDigitMaker.cxx:358 AliMUONDigitMaker.cxx:359 AliMUONDigitMaker.cxx:360 AliMUONDigitMaker.cxx:361 AliMUONDigitMaker.cxx:362 AliMUONDigitMaker.cxx:363 AliMUONDigitMaker.cxx:364 AliMUONDigitMaker.cxx:365 AliMUONDigitMaker.cxx:366 AliMUONDigitMaker.cxx:367 AliMUONDigitMaker.cxx:368 AliMUONDigitMaker.cxx:369 AliMUONDigitMaker.cxx:370 AliMUONDigitMaker.cxx:371 AliMUONDigitMaker.cxx:372 AliMUONDigitMaker.cxx:373 AliMUONDigitMaker.cxx:374 AliMUONDigitMaker.cxx:375 AliMUONDigitMaker.cxx:376 AliMUONDigitMaker.cxx:377 AliMUONDigitMaker.cxx:378 AliMUONDigitMaker.cxx:379 AliMUONDigitMaker.cxx:380 AliMUONDigitMaker.cxx:381 AliMUONDigitMaker.cxx:382 AliMUONDigitMaker.cxx:383 AliMUONDigitMaker.cxx:384 AliMUONDigitMaker.cxx:385 AliMUONDigitMaker.cxx:386 AliMUONDigitMaker.cxx:387 AliMUONDigitMaker.cxx:388 AliMUONDigitMaker.cxx:389 AliMUONDigitMaker.cxx:390 AliMUONDigitMaker.cxx:391 AliMUONDigitMaker.cxx:392 AliMUONDigitMaker.cxx:393 AliMUONDigitMaker.cxx:394 AliMUONDigitMaker.cxx:395 AliMUONDigitMaker.cxx:396 AliMUONDigitMaker.cxx:397 AliMUONDigitMaker.cxx:398 AliMUONDigitMaker.cxx:399 AliMUONDigitMaker.cxx:400 AliMUONDigitMaker.cxx:401 AliMUONDigitMaker.cxx:402 AliMUONDigitMaker.cxx:403 AliMUONDigitMaker.cxx:404 AliMUONDigitMaker.cxx:405 AliMUONDigitMaker.cxx:406 AliMUONDigitMaker.cxx:407 AliMUONDigitMaker.cxx:408 AliMUONDigitMaker.cxx:409 AliMUONDigitMaker.cxx:410 AliMUONDigitMaker.cxx:411 AliMUONDigitMaker.cxx:412 AliMUONDigitMaker.cxx:413 AliMUONDigitMaker.cxx:414 AliMUONDigitMaker.cxx:415 AliMUONDigitMaker.cxx:416 AliMUONDigitMaker.cxx:417 AliMUONDigitMaker.cxx:418 AliMUONDigitMaker.cxx:419 AliMUONDigitMaker.cxx:420 AliMUONDigitMaker.cxx:421 AliMUONDigitMaker.cxx:422 AliMUONDigitMaker.cxx:423 AliMUONDigitMaker.cxx:424 AliMUONDigitMaker.cxx:425 AliMUONDigitMaker.cxx:426 AliMUONDigitMaker.cxx:427 AliMUONDigitMaker.cxx:428 AliMUONDigitMaker.cxx:429 AliMUONDigitMaker.cxx:430 AliMUONDigitMaker.cxx:431 AliMUONDigitMaker.cxx:432 AliMUONDigitMaker.cxx:433 AliMUONDigitMaker.cxx:434 AliMUONDigitMaker.cxx:435 AliMUONDigitMaker.cxx:436 AliMUONDigitMaker.cxx:437 AliMUONDigitMaker.cxx:438 AliMUONDigitMaker.cxx:439 AliMUONDigitMaker.cxx:440 AliMUONDigitMaker.cxx:441 AliMUONDigitMaker.cxx:442 AliMUONDigitMaker.cxx:443 AliMUONDigitMaker.cxx:444 AliMUONDigitMaker.cxx:445 AliMUONDigitMaker.cxx:446 AliMUONDigitMaker.cxx:447 AliMUONDigitMaker.cxx:448 AliMUONDigitMaker.cxx:449 AliMUONDigitMaker.cxx:450 AliMUONDigitMaker.cxx:451 AliMUONDigitMaker.cxx:452 AliMUONDigitMaker.cxx:453 AliMUONDigitMaker.cxx:454 AliMUONDigitMaker.cxx:455 AliMUONDigitMaker.cxx:456 AliMUONDigitMaker.cxx:457 AliMUONDigitMaker.cxx:458 AliMUONDigitMaker.cxx:459 AliMUONDigitMaker.cxx:460 AliMUONDigitMaker.cxx:461 AliMUONDigitMaker.cxx:462 AliMUONDigitMaker.cxx:463 AliMUONDigitMaker.cxx:464 AliMUONDigitMaker.cxx:465 AliMUONDigitMaker.cxx:466 AliMUONDigitMaker.cxx:467 AliMUONDigitMaker.cxx:468 AliMUONDigitMaker.cxx:469 AliMUONDigitMaker.cxx:470 AliMUONDigitMaker.cxx:471 AliMUONDigitMaker.cxx:472 AliMUONDigitMaker.cxx:473 AliMUONDigitMaker.cxx:474 AliMUONDigitMaker.cxx:475 AliMUONDigitMaker.cxx:476 AliMUONDigitMaker.cxx:477 AliMUONDigitMaker.cxx:478 AliMUONDigitMaker.cxx:479 AliMUONDigitMaker.cxx:480 AliMUONDigitMaker.cxx:481 AliMUONDigitMaker.cxx:482 AliMUONDigitMaker.cxx:483 AliMUONDigitMaker.cxx:484 AliMUONDigitMaker.cxx:485 AliMUONDigitMaker.cxx:486 AliMUONDigitMaker.cxx:487 AliMUONDigitMaker.cxx:488 AliMUONDigitMaker.cxx:489 AliMUONDigitMaker.cxx:490 AliMUONDigitMaker.cxx:491 AliMUONDigitMaker.cxx:492 AliMUONDigitMaker.cxx:493 AliMUONDigitMaker.cxx:494 AliMUONDigitMaker.cxx:495 AliMUONDigitMaker.cxx:496 AliMUONDigitMaker.cxx:497 AliMUONDigitMaker.cxx:498 AliMUONDigitMaker.cxx:499 AliMUONDigitMaker.cxx:500 AliMUONDigitMaker.cxx:501 AliMUONDigitMaker.cxx:502 AliMUONDigitMaker.cxx:503 AliMUONDigitMaker.cxx:504 AliMUONDigitMaker.cxx:505 AliMUONDigitMaker.cxx:506 AliMUONDigitMaker.cxx:507 AliMUONDigitMaker.cxx:508 AliMUONDigitMaker.cxx:509 AliMUONDigitMaker.cxx:510 AliMUONDigitMaker.cxx:511 AliMUONDigitMaker.cxx:512 AliMUONDigitMaker.cxx:513 AliMUONDigitMaker.cxx:514 AliMUONDigitMaker.cxx:515 AliMUONDigitMaker.cxx:516 AliMUONDigitMaker.cxx:517 AliMUONDigitMaker.cxx:518