ROOT logo
#include "AliMpDataProcessor.h"
#include "Riostream.h"
#include "AliMpDataMap.h"
#include "AliMpDataStreams.h"
#include "AliMpDDLStore.h"
#include "AliMpBusPatch.h"

//#define RESET		0
//#define BRIGHT 		1
//#define DIM		2
//#define UNDERLINE 	3
//#define BLINK		4
//#define REVERSE		7
//#define HIDDEN		8
//#define BLACK 		0
//#define RED		1
//#define GREEN		2
//#define YELLOW		3
//#define BLUE		4
//#define MAGENTA		5
//#define CYAN		6
//#define	WHITE		7
//void textcolor(int attr, int fg, int bg)
//{	
//  char command[13];
//  
//	/* Command is the control command to the terminal */
//	sprintf(command, "%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40);
//	printf("%s", command);
//}
//
void Green(ostream& out)
{
  out << "GREEN ";
//  out << Form("%c[0;32;47m",0x1B);
}

void Blue(ostream& out)
{
  out << "BLUE  ";
//  out << Form("%c[0;34;47m",0x1B);
}

void Black(ostream& /*out*/)
{
//  out << Form("%c[0;30;47m",0x1B);
}

void DumpBusPatches()
{
  /// Dump the list of manus for all the bus patches
  
  AliMpDataProcessor mp;
  AliMpDataMap* map = mp.CreateDataMap("data");
  AliMpDataStreams dataStreams(map);
  AliMpDDLStore::ReadData(dataStreams);

  TIter nextBP(AliMpDDLStore::Instance()->CreateBusPatchIterator());
  AliMpBusPatch* bp(0x0);

  while ( ( bp = static_cast<AliMpBusPatch*>(nextBP())) )
  {
    Int_t busPatchId = bp->GetId();

    Int_t firstManu = bp->GetManuId(0);
    
    if ( firstManu > 1024 ) Blue(cout);
    else Green(cout);
    
    cout << Form("BP %5d N PATCH MODULES %2d (",busPatchId,bp->GetNofPatchModules());
    
    for ( Int_t i = 0;  i < bp->GetNofPatchModules(); ++i ) 
    {
      cout << Form(" %2d",bp->GetNofManusPerModule(i));
    }
    
    for ( Int_t i = bp->GetNofPatchModules(); i < 4; ++i ) 
    {
      cout << "   ";
    }
    
    cout << " ) MANUS ";
    
    for ( Int_t imanu = 0; imanu < bp->GetNofManus(); ++imanu )
    {
      Int_t manuId = bp->GetManuId(imanu);
      cout << Form(" %5d",manuId);
    }
    cout << endl;
  }
  
  Black(cout);
 DumpBusPatches.C:1
 DumpBusPatches.C:2
 DumpBusPatches.C:3
 DumpBusPatches.C:4
 DumpBusPatches.C:5
 DumpBusPatches.C:6
 DumpBusPatches.C:7
 DumpBusPatches.C:8
 DumpBusPatches.C:9
 DumpBusPatches.C:10
 DumpBusPatches.C:11
 DumpBusPatches.C:12
 DumpBusPatches.C:13
 DumpBusPatches.C:14
 DumpBusPatches.C:15
 DumpBusPatches.C:16
 DumpBusPatches.C:17
 DumpBusPatches.C:18
 DumpBusPatches.C:19
 DumpBusPatches.C:20
 DumpBusPatches.C:21
 DumpBusPatches.C:22
 DumpBusPatches.C:23
 DumpBusPatches.C:24
 DumpBusPatches.C:25
 DumpBusPatches.C:26
 DumpBusPatches.C:27
 DumpBusPatches.C:28
 DumpBusPatches.C:29
 DumpBusPatches.C:30
 DumpBusPatches.C:31
 DumpBusPatches.C:32
 DumpBusPatches.C:33
 DumpBusPatches.C:34
 DumpBusPatches.C:35
 DumpBusPatches.C:36
 DumpBusPatches.C:37
 DumpBusPatches.C:38
 DumpBusPatches.C:39
 DumpBusPatches.C:40
 DumpBusPatches.C:41
 DumpBusPatches.C:42
 DumpBusPatches.C:43
 DumpBusPatches.C:44
 DumpBusPatches.C:45
 DumpBusPatches.C:46
 DumpBusPatches.C:47
 DumpBusPatches.C:48
 DumpBusPatches.C:49
 DumpBusPatches.C:50
 DumpBusPatches.C:51
 DumpBusPatches.C:52
 DumpBusPatches.C:53
 DumpBusPatches.C:54
 DumpBusPatches.C:55
 DumpBusPatches.C:56
 DumpBusPatches.C:57
 DumpBusPatches.C:58
 DumpBusPatches.C:59
 DumpBusPatches.C:60
 DumpBusPatches.C:61
 DumpBusPatches.C:62
 DumpBusPatches.C:63
 DumpBusPatches.C:64
 DumpBusPatches.C:65
 DumpBusPatches.C:66
 DumpBusPatches.C:67
 DumpBusPatches.C:68
 DumpBusPatches.C:69
 DumpBusPatches.C:70
 DumpBusPatches.C:71
 DumpBusPatches.C:72
 DumpBusPatches.C:73
 DumpBusPatches.C:74
 DumpBusPatches.C:75
 DumpBusPatches.C:76
 DumpBusPatches.C:77
 DumpBusPatches.C:78
 DumpBusPatches.C:79
 DumpBusPatches.C:80
 DumpBusPatches.C:81
 DumpBusPatches.C:82
 DumpBusPatches.C:83
 DumpBusPatches.C:84
 DumpBusPatches.C:85
 DumpBusPatches.C:86
 DumpBusPatches.C:87
 DumpBusPatches.C:88
 DumpBusPatches.C:89
 DumpBusPatches.C:90
 DumpBusPatches.C:91
 DumpBusPatches.C:92
 DumpBusPatches.C:93