]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHDigit.cxx
Adding the query at the run level of the tags.
[u/mrichter/AliRoot.git] / RICH / AliRICHDigit.cxx
CommitLineData
0fe8fa07 1// **************************************************************************
2// * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3// * *
4// * Author: The ALICE Off-line Project. *
5// * Contributors are mentioned in the code where appropriate. *
6// * *
7// * Permission to use, copy, modify and distribute this software and its *
8// * documentation strictly for non-commercial purposes is hereby granted *
9// * without fee, provided that the above copyright notice appears in all *
10// * copies and that both the copyright notice and this permission notice *
11// * appear in the supporting documentation. The authors make no claims *
12// * about the suitability of this software for any purpose. It is *
13// * provided "as is" without express or implied warranty. *
14// **************************************************************************
15
0422a446 16#include "AliRICHDigit.h"//class header
0fe8fa07 17
18ClassImp(AliRICHDigit)
19
9de8d990 20/*
21Any given LDC collects data from a number of D-RORC cards connected to this same LDC by separate DDLs. This data is stored in corresponding number
22of DDL buffers.
23
24Each DDL buffer corresponds to a single D-RORC. The data this buffer contains are hardware generated by D-RORC. The buffer starts with common header
25which size and structure is standartized and mandatory for all detectors.
26The header contains among other words, so called Equipment ID word. This unique value for each D-RORC is calculated as detector ID << 8 + DDL index.
27For RICH the detector ID is 6 (reffered in the code as kRichRawId) while DDL indexes are from 0 to 13.
28
29Common header might be followed by the private one although RICH has no any private header, just uses the common one.
30
31Single RICH D-RORC serves one half of a chamber i.e. 3 photocathodes aka sectors, even LDC for left part( sectors 1-3-5) and odd LDC for right part(2-4-6)
32as it's seen from electronics side.
33
34So the LDC -chamber-ddl map is:
35DDL index 0 -> ch 1 left -> DDL ID 0x600 DDL index 1 -> ch 1 right -> DDL ID 0x601
36DDL index 2 -> ch 2 left -> DDL ID 0x602 DDL index 3 -> ch 2 right -> DDL ID 0x603
37DDL index 4 -> ch 3 left -> DDL ID 0x604 DDL index 5 -> ch 3 right -> DDL ID 0x605
38DDL index 6 -> ch 4 left -> DDL ID 0x606 DDL index 7 -> ch 4 right -> DDL ID 0x607
39DDL index 8 -> ch 5 left -> DDL ID 0x608 DDL index 9 -> ch 5 right -> DDL ID 0x609
40DDL index 10 -> ch 6 left -> DDL ID 0x60a DDL index 11 -> ch 6 right -> DDL ID 0x60b
41DDL index 12 -> ch 7 left -> DDL ID 0x60c DDL index 13 -> ch 7 right -> DDL ID 0x60d
42
43RICH FEE as seen by single D-RORC is composed from a number of DILOGIC chips organized in vertical stack of rows.
44Each DILOGIC chip serves 48 channels for the 8x6 pads (reffered in the code as kDiloX,kDiloY). Channels counted from 0 to 47.
45
46??????? Currently the exact mapping of DILOGIC addresses to pads is not known. So we invented horizontal zig-zag ???????
47
4810 DILOGIC chips composes so called "row" in horizontal direction (reffered in the code as kNdilo), so the row is 80x6 pads structure.
49DILOGIC chips in the row are counted from right to left as seen from electronics side, from 1 to 10.
5024 rows are piled up forming the whole FEE served by single D-RORC, so one DDL sees 80x144 pads separated in 3 photocathodes aka sectors.
51Rows are counted from 1 to 24 from top to bottom for right half of the chamber (sectors 2-4-6) as seen from electronics side, meaning even LDC number
52 and from bottom to top for left half of the chamber (sectors 1-3-5) as seen from electronics side, meaning odd LDC number.
53
54RICH raw word is 32 bits with the structure:
55 00000 rrrrr dddd aaaaaa qqqqqqqqqqqq
56 5 bits zero 5 bits row number (1..24) 4 bits DILOGIC chip number (1..10) 6 bits DILOGIC address (0..47) 12 bits QDC value (0..4095)
57*/
58
59//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0fe8fa07 60void AliRICHDigit::Print(Option_t*)const
61{
62//Print current digit
0422a446 63//Arguments: option string not used
64// Returns: none
9de8d990 65 Printf("pad=(%2i,%2i,%3i,%3i), QDC=%8.3f, cfm=%9i, TID=(%5i,%5i,%5i) raw r=%2i d=%2i a=%2i",
66 C(),Pad2Sec(PadX(),PadY()),PadX(),PadY() , Qdc(), Cfm() , fTracks[0],fTracks[1],fTracks[2], R(), D(), A());
0fe8fa07 67}
9de8d990 68//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0422a446 69void AliRICHDigit::Test()
70{
db910db9 71 Printf("Test of Pad2Sec:");
72 Int_t x1=kFirstPad, x2=kPadsSecX, x3=kPadsSecX+1, x4=kPadsChamX;//all possible padx for corners
73 Int_t y;
74
75 y=kPadsChamY;
76 Printf("Sector5:(%3i,%3i)->%i (%3i,%3i)->%i Sector6:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
77 y=2*kPadsSecY+1;
78 Printf("Sector5:(%3i,%3i)->%i (%3i,%3i)->%i Sector6:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
79 Printf("");
80 y=2*kPadsSecY;
81 Printf("Sector3:(%3i,%3i)->%i (%3i,%3i)->%i Sector4:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
82 y=kPadsSecY+1;
83 Printf("Sector3:(%3i,%3i)->%i (%3i,%3i)->%i Sector4:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
84 Printf("");
85 y=kPadsSecY;
86 Printf("Sector1:(%3i,%3i)->%i (%3i,%3i)->%i Sector2:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
87 y=kFirstPad;
88 Printf("Sector1:(%3i,%3i)->%i (%3i,%3i)->%i Sector2:(%3i,%3i)->%i (%3i,%3i)->%i",x1,y,Pad2Sec(x1,y),x2,y,Pad2Sec(x2,y),x3,y,Pad2Sec(x3,y),x4,y,Pad2Sec(x4,y));
0422a446 89}
9de8d990 90//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++