RawReadout Class Reference

#include <RawReadout.h>

List of all members.

Public Types

enum  EReadoutType { kUnknown = 0x00, kDetector = 0x01, kVetoShield = 0x02, kTpmt = 0x03 }
typedef enum
RawReadout::EReadoutType 
ReadoutType_t

Public Member Functions

 RawReadout ()
 RawReadout (const RawReadout &rhs)
 ~RawReadout ()
RawReadout::ReadoutType_t GetReadoutType (RawChannelId rawch, Bool_t useDB=0)
Int_t GetPulserBox (RawChannelId rawch, Bool_t useDB=0)

Private Member Functions

void Setup ()
 ClassDef (RawReadout, 1)

Private Attributes

Int_t VaReadout [16][24]
Int_t VaBasePlane [16][24]
Int_t VaAddPlane [6][22]
Int_t VaShield [16][6]
Int_t VaPulserBox [22]
Int_t QieReadout [8][12]
Int_t QieBasePlane [8][12]
Int_t QieAddPlane1 [8][16]
Int_t QieAddPlane2 [8][16]
Int_t QieAddPlane3 [8][16]
Int_t QieHackPlane281 [8][16]
Int_t QiePulserBox [16]

Detailed Description

Definition at line 7 of file RawReadout.h.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
kUnknown 
kDetector 
kVetoShield 
kTpmt 

Definition at line 12 of file RawReadout.h.

00012                             {
00013     kUnknown = 0x00,
00014     kDetector = 0x01,
00015     kVetoShield = 0x02,
00016     kTpmt = 0x03
00017   } ReadoutType_t;


Constructor & Destructor Documentation

RawReadout::RawReadout (  ) 

Definition at line 15 of file RawReadout.cxx.

00016 {
00017   this->Setup();
00018 }

RawReadout::RawReadout ( const RawReadout rhs  ) 

Definition at line 20 of file RawReadout.cxx.

References Setup().

00020                                             :
00021   TObject(rhs)
00022 {
00023   this->Setup();
00024 }
  

RawReadout::~RawReadout (  ) 

Definition at line 26 of file RawReadout.cxx.

00027 {
00028 
00029 }


Member Function Documentation

RawReadout::ClassDef ( RawReadout  ,
 
) [private]
Int_t RawReadout::GetPulserBox ( RawChannelId  rawch,
Bool_t  useDB = 0 
)

Definition at line 208 of file RawReadout.cxx.

References RawChannelId::GetDetector(), RawChannelId::GetElecType(), RawChannelId::GetMenu(), GetReadoutType(), RawChannelId::GetVaChannel(), SimFlag::kData, ElecType::kQIE, kTpmt, ElecType::kVA, QiePulserBox, and VaPulserBox.

Referenced by DQLightInjection::Process().

00209 {
00210   Int_t pulserbox=-1;
00211 
00212   Int_t vachannel;
00213   Int_t menu;
00214 
00215   if( this->GetReadoutType(rawch)==RawReadout::kTpmt ){
00216 
00217     if( rawch.GetElecType()==ElecType::kVA ){
00218 
00219       if( useDB ){
00220 
00221         // Get pulser box from database plex tables
00222         //
00223         //
00224 
00225         VldTimeStamp timestamp;
00226         VldContext vldc(rawch.GetDetector(),SimFlag::kData,timestamp);
00227         PlexHandle ph(vldc);
00228 
00229         pulserbox = ph.GetLedPulserBoxFromTpmt(rawch);
00230 
00231       }
00232 
00233       else{
00234 
00235         // Get pulser box from internal plex tables
00236         //
00237         //
00238       
00239         vachannel = rawch.GetVaChannel();
00240         if( vachannel>=2 && vachannel<=17 ){
00241           pulserbox = VaPulserBox[vachannel];
00242         }
00243 
00244       }
00245     }
00246 
00247     if( rawch.GetElecType()==ElecType::kQIE ){
00248 
00249       if( useDB ){
00250 
00251         // Get pulser box from database plex tables
00252         //
00253         //
00254 
00255         VldTimeStamp timestamp;
00256         VldContext vldc(rawch.GetDetector(),SimFlag::kData,timestamp);
00257         PlexHandle ph(vldc);
00258 
00259         pulserbox = ph.GetLedPulserBoxFromTpmt(rawch);
00260 
00261       }
00262 
00263       else{
00264 
00265         // Get pulser box from internal plex tables
00266         //
00267         //
00268 
00269         menu = rawch.GetMenu();
00270         if(menu>=0 && menu<16 ){
00271           pulserbox = QiePulserBox[menu];
00272         }
00273 
00274       }
00275 
00276     }
00277   }
00278     
00279   return pulserbox;
00280 }

RawReadout::ReadoutType_t RawReadout::GetReadoutType ( RawChannelId  rawch,
Bool_t  useDB = 0 
)

Definition at line 31 of file RawReadout.cxx.

References RawChannelId::GetCrate(), RawChannelId::GetDetector(), RawChannelId::GetElecType(), RawChannelId::GetMaster(), RawChannelId::GetMenu(), RawChannelId::GetMinder(), RawChannelId::GetVaAdcSel(), RawChannelId::GetVaChannel(), RawChannelId::GetVaChip(), RawChannelId::GetVarcId(), RawChannelId::GetVmm(), SimFlag::kData, kDetector, ReadoutType::kFlashTrigPMT, ElecType::kQIE, kTpmt, kUnknown, ElecType::kVA, kVetoShield, QieAddPlane1, QieAddPlane2, QieAddPlane3, QieBasePlane, QieHackPlane281, QieReadout, VaAddPlane, VaBasePlane, VaReadout, and VaShield.

Referenced by GetPulserBox(), DQRawDigits::Process(), DQHotColdElectronics::Process(), FillFarRunQuality::ProcessBlock(), and FillHvFromSingles::ProcessBlock().

00032 {
00033 
00034   RawReadout::ReadoutType_t readout(RawReadout::kUnknown);
00035 
00036   Int_t crate;
00037   Int_t varc,vmm,vaadc,vachip,vachannel;
00038   Int_t master,minder,menu;
00039   Int_t readoutcode,plane,shld;
00040 
00041   // FAR DETECTOR READOUT
00042   // ====================
00043 
00044   if( rawch.GetElecType()==ElecType::kVA ){
00045 
00046     crate = rawch.GetCrate();
00047     varc = rawch.GetVarcId();
00048     vmm = rawch.GetVmm();
00049     vaadc = rawch.GetVaAdcSel();
00050     vachip = rawch.GetVaChip();
00051     vachannel = rawch.GetVaChannel();
00052     if( vachannel>21 ) vachannel=10;
00053 
00054     if( useDB ){
00055 
00056       // Get readout from database plex tables
00057       //
00058       //
00059 
00060       VldTimeStamp timestamp;
00061       VldContext vldc(rawch.GetDetector(),SimFlag::kData,timestamp);
00062       PlexHandle ph(vldc);
00063       RawChannelId tempch(rawch.GetDetector(),rawch.GetElecType(),crate,varc,vmm,vaadc,vachip,vachannel);
00064 
00065       // if( ph.GetReadoutType(tempch)==ReadoutType::kScintStrip ){
00066       if( ph.GetSEIdAltL(tempch).IsValid() 
00067        && ph.GetSEIdAltL(tempch).GetPlane()>=0 && ph.GetSEIdAltL(tempch).GetPlane()<1000 ){
00068         readout=RawReadout::kDetector;
00069         if( ph.GetSEIdAltL(tempch).IsVetoShield() ){
00070           readout=RawReadout::kVetoShield;
00071         }
00072       }
00073 
00074       if( ph.GetReadoutType(tempch)==ReadoutType::kFlashTrigPMT ){
00075         readout=RawReadout::kTpmt;
00076       }
00077 
00078     }
00079 
00080     else{
00081 
00082       // Get readout from internal plex tables
00083       //
00084       //
00085 
00086       if( crate>=0 && varc>=0 && vmm>=0 && vaadc>=0 && vachip>=0 && vachannel>=0
00087        && crate<16 && varc<3 && vmm<6 && vaadc<2 && vachip<3 && vachannel<22){
00088         readoutcode=VaReadout[crate][6*varc+vmm];
00089         plane=-1; shld=-1;
00090 
00091         if( readoutcode==1 ){
00092           if( vachannel>=2 && vachannel<=17 ){
00093             plane=VaBasePlane[crate][6*varc+vmm]+VaAddPlane[3*vaadc+vachip][vachannel];
00094           }
00095         }
00096 
00097         if( readoutcode==2 ){
00098           if( vachannel>=2 && vachannel<=17 ){
00099             shld=VaShield[crate][3*vaadc+vachip];
00100           }
00101         }
00102 
00103         // VA chip in Detector
00104         if( plane>=0 ){
00105           readout=RawReadout::kDetector;
00106         }  
00107 
00108         // VA chip in Veto Shield
00109         if( shld>=0 ){
00110           readout=RawReadout::kVetoShield; 
00111         }
00112 
00113         // Far Detector Trigger PMT
00114         if( crate==1 && varc==2 && vmm==5 && vaadc==0 && vachip==1 ){
00115           readout=RawReadout::kTpmt;
00116         }
00117 
00118       }
00119     }
00120 
00121   }
00122 
00123   // NEAR DETECTOR READOUT
00124   // ====================
00125 
00126   if( rawch.GetElecType()==ElecType::kQIE ){
00127 
00128     crate = rawch.GetCrate();
00129     master = rawch.GetMaster();
00130     minder = rawch.GetMinder();
00131     menu = rawch.GetMenu();
00132 
00133     if( useDB ){
00134     
00135       // Get readout from database plex tables
00136       //
00137       //
00138   
00139       VldTimeStamp timestamp;
00140       VldContext vldc(rawch.GetDetector(),SimFlag::kData,timestamp);
00141       PlexHandle ph(vldc);
00142       RawChannelId tempch(rawch.GetDetector(),rawch.GetElecType(),crate,master,minder,menu);
00143 
00144       // if( ph.GetReadoutType(tempch)==ReadoutType::kScintStrip ){
00145       if( ph.GetSEIdAltL(tempch).IsValid() 
00146        && ph.GetSEIdAltL(tempch).GetPlane()>=0 && ph.GetSEIdAltL(tempch).GetPlane()<1000 ){
00147         readout=RawReadout::kDetector;
00148       }
00149 
00150       if( ph.GetReadoutType(tempch)==ReadoutType::kFlashTrigPMT ){
00151         readout=RawReadout::kTpmt;
00152       }
00153 
00154     }
00155 
00156     else{
00157 
00158       // Get readout from internal plex tables
00159       //
00160       //
00161 
00162       if( crate>=0 && master>=9 && minder>=0 && menu>=0
00163        && crate<8 && master<=20 && minder<8 && menu<16 ){
00164         readoutcode=QieReadout[crate][master-9];
00165         plane=-1;
00166 
00167         if( readoutcode==1 ){
00168           if( QieAddPlane1[minder][menu]>=0 ){  
00169             plane=QieBasePlane[crate][master-9]+QieAddPlane1[minder][menu];
00170           }
00171         }
00172 
00173         if( readoutcode==2 ){
00174           if( QieAddPlane2[minder][menu]>=0 ){
00175             plane=QieBasePlane[crate][master-9]+QieAddPlane2[minder][menu];
00176           }
00177         }
00178 
00179         if( readoutcode==3 ){
00180           if( QieAddPlane3[minder][menu]>=0 ){
00181             plane=QieBasePlane[crate][master-9]+QieAddPlane3[minder][menu];
00182           }
00183         }
00184 
00185         // Plane 281
00186         if( crate==0 && master==17 && QieHackPlane281[minder][menu]>=0 ){
00187           plane=281;
00188         }
00189 
00190         // QIE menu in detector
00191         if( plane>=0 ){
00192           readout=RawReadout::kDetector;
00193         }
00194 
00195         // Near Detector Trigger PMT
00196         if( crate==0 && master==16 && minder==0 ){
00197           readout=RawReadout::kTpmt;
00198         }
00199 
00200       }
00201       
00202     }
00203   }
00204 
00205   return readout;
00206 }

void RawReadout::Setup (  )  [private]

Definition at line 282 of file RawReadout.cxx.

References QieAddPlane1, QieAddPlane2, QieAddPlane3, QieBasePlane, QieHackPlane281, QiePulserBox, QieReadout, VaAddPlane, VaBasePlane, VaPulserBox, VaReadout, and VaShield.

Referenced by RawReadout().

00283 {
00284   // Set up using hard-coded plex
00285 
00286   Int_t i,j;
00287 
00288   //
00289   // VA CHIP -> READOUT TYPE
00290   //
00291   // handles detector geometry at the VA chip level
00292   // since PlexHandle.GetReadoutType(RawChannelId) 
00293   // returns "unknown" when no vachannel is specified
00294   //
00295   // detector readout type = VaReadout[crate][6*vmm+vaadc] 
00296   // detector base plane = VaBasePlane[crate][6*vmm+vaadc] 
00297   // detector add plane = VaAddPlane[3*vaadc+vachip][vachannel]
00298   // shield subsection = VaShield[crate][3*vaadc+vachip]
00299   //
00300 
00301   Int_t tmpVaReadout[16][24]={
00302    { 1, 1, 1, 1, 1, -1,
00303      1, 1, 1, 1, 1, 1,
00304      1, 1, 1, 1, 1, 2,
00305      -1, -1, -1, -1, -1, -1 },
00306    { 1, 1, 1, 1, 1, 2,
00307      1, 1, 1, 1, 1, 1,
00308      1, 1, 1, 1, 1, -1,
00309      -1, -1, -1, -1, -1, -1 },
00310    { 1, 1, 1, 1, 1, -1,
00311      1, 1, 1, 1, 1, 1,
00312      1, 1, 1, 1, 1, 2,
00313      -1, -1, -1, -1, -1, -1 },
00314    { 1, 1, 1, 1, 1, 2,
00315      1, 1, 1, 1, 1, 1,
00316      1, 1, 1, 1, 1, -1,
00317      -1, -1, -1, -1, -1, -1 },
00318    { 1, 1, 1, 1, 1, -1,
00319      1, 1, 1, 1, 1, 1,
00320      1, 1, 1, 1, 1, 2,
00321      -1, -1, -1, -1, -1, -1 },
00322    { 1, 1, 1, 1, 1, 2,
00323      1, 1, 1, 1, 1, 1,
00324      1, 1, 1, 1, 1, -1,
00325      -1, -1, -1, -1, -1, -1 },
00326    { 1, 1, 1, 1, 1, -1,
00327      1, 1, 1, 1, 1, -1,
00328      1, 1, 1, 1, -1, 2,
00329      -1, -1, -1, -1, -1, -1 },
00330    { 1, 1, 1, 1, -1, 2,
00331      1, 1, 1, 1, 1, -1,
00332      1, 1, 1, 1, 1, -1,
00333      -1, -1, -1, -1, -1, -1 },
00334    { 1, 1, 1, 1, 1, 2,
00335      1, 1, 1, 1, 1, 1,
00336      1, 1, 1, 1, 1, -1,
00337      -1, -1, -1, -1, -1, -1 },
00338    { 1, 1, 1, 1, 1, -1,
00339      1, 1, 1, 1, 1, 1,
00340      1, 1, 1, 1, 1, 2,
00341      -1, -1, -1, -1, -1, -1 },
00342    { 1, 1, 1, 1, 1, -1,
00343      1, 1, 1, 1, 1, 1,
00344      1, 1, 1, 1, 1, 2,
00345      -1, -1, -1, -1, -1, -1 },
00346    { 1, 1, 1, 1, 1, -1,
00347      1, 1, 1, 1, 1, 1,
00348      1, 1, 1, 1, 1, 2,
00349      -1, -1, -1, -1, -1, -1 },
00350    { 1, 1, 1, 1, 1, -1,
00351      1, 1, 1, 1, 1, 1,
00352      1, 1, 1, 1, 1, 2,
00353      -1, -1, -1, -1, -1, -1 },
00354    { 1, 1, 1, 1, 1, -1,
00355      1, 1, 1, 1, 1, 1,
00356      1, 1, 1, 1, 1, 2,
00357      -1, -1, -1, -1, -1, -1 },
00358    { 1, 1, 1, 1, 1, 2,
00359      1, 1, 1, 1, 1, 1,
00360      -1, -1, -1, -1, -1, -1,
00361      -1, -1, -1, -1, -1, -1 },
00362    { -1, -1, -1, -1, -1, -1,
00363      1, 1, 1, 1, 1, 1,
00364      1, 1, 1, 1, 1, 2,
00365      -1, -1, -1, -1, -1, -1 },
00366   };
00367 
00368   Int_t tmpVaBasePlane[16][24]={
00369    { 1, 5, 9, 13, 17, -1, 
00370     21, 25, 29, 33, 37, 41, 
00371     45, 49, 53, 57, 61, -1, 
00372     -1, -1, -1, -1, -1, -1 },
00373    { 45, 49, 53, 57, 61, -1, 
00374     21, 25, 29, 33, 37, 41, 
00375     1, 5, 9, 13, 17, -1, 
00376     -1, -1, -1, -1, -1, -1 },
00377    { 65, 69, 73, 77, 81, -1, 
00378     85, 89, 93, 97, 101, 105, 
00379     109, 113, 117, 121, 125, -1, 
00380     -1, -1, -1, -1, -1, -1 },
00381    { 109, 113, 117, 121, 125, -1, 
00382     85, 89, 93, 97, 101, 105, 
00383     65, 69, 73, 77, 81, -1, 
00384     -1, -1, -1, -1, -1, -1 },
00385    { 129, 133, 137, 141, 145, -1, 
00386     149, 153, 157, 161, 165, 169, 
00387     173, 177, 181, 185, 189, -1, 
00388     -1, -1, -1, -1, -1, -1 },
00389    { 173, 177, 181, 185, 189, -1, 
00390     149, 153, 157, 161, 165, 169, 
00391     129, 133, 137, 141, 145, -1, 
00392     -1, -1, -1, -1, -1, -1 },
00393    { 193, 197, 201, 205, 209, -1, 
00394     213, 217, 221, 225, 229, -1, 
00395     233, 237, 241, 245, -1, -1, 
00396     -1, -1, -1, -1, -1, -1 },
00397    { 233, 237, 241, 245, -1, -1, 
00398     213, 217, 221, 225, 229, -1, 
00399     193, 197, 201, 205, 209, -1, 
00400     -1, -1, -1, -1, -1, -1 },
00401    { 250, 254, 258, 262, 266, -1, 
00402     270, 274, 278, 282, 286, 290, 
00403     294, 298, 302, 306, 310, -1, 
00404     -1, -1, -1, -1, -1, -1 },
00405    { 294, 298, 302, 306, 310, -1, 
00406     270, 274, 278, 282, 286, 290, 
00407     250, 254, 258, 262, 266, -1, 
00408     -1, -1, -1, -1, -1, -1 },
00409    { 314, 318, 322, 326, 330, -1, 
00410     334, 338, 342, 346, 350, 354, 
00411     358, 362, 366, 370, 374, -1, 
00412     -1, -1, -1, -1, -1, -1 },
00413    { 358, 362, 366, 370, 374, -1, 
00414     334, 338, 342, 346, 350, 354, 
00415     314, 318, 322, 326, 330, -1, 
00416     -1, -1, -1, -1, -1, -1 },
00417    { 378, 382, 386, 390, 394, -1, 
00418     398, 402, 406, 410, 414, 418, 
00419     422, 426, 430, 434, 438, -1, 
00420     -1, -1, -1, -1, -1, -1 },
00421    { 422, 426, 430, 434, 438, -1, 
00422     398, 402, 406, 410, 414, 418, 
00423     378, 382, 386, 390, 394, -1, 
00424     -1, -1, -1, -1, -1, -1 },
00425    { 442, 446, 450, 454, 458, -1, 
00426     462, 466, 470, 474, 478, 482, 
00427     -1, -1, -1, -1, -1, -1, 
00428     -1, -1, -1, -1, -1, -1 },
00429    { -1, -1, -1, -1, -1, -1, 
00430     462, 466, 470, 474, 478, 482, 
00431     442, 446, 450, 454, 458, -1, 
00432     -1, -1, -1, -1, -1, -1 },
00433   };
00434 
00435   Int_t tmpVaAddPlane[6][22]={
00436    { -1, -1,
00437      0, 0, 0, 0,
00438      0, 0, 0, 0,
00439      0, 0, 0, 0,
00440      0, 0, 0, 0,
00441      -1, -1, -1, -1 },
00442    { -1, -1,
00443      2, 2, 2, 2,
00444      2, 2, 2, 2,
00445      2, 2, 2, 2,
00446      2, 2, 2, 2,
00447      -1, -1, -1, -1 },
00448    { -1, -1,
00449      2, 0, 2, 0,
00450      2, 0, 2, 0,
00451      0, 2, 0, 2,
00452      0, 2, 0, 2,
00453      -1, -1, -1, -1 },
00454    { -1, -1,
00455      1, 1, 1, 1,
00456      1, 1, 1, 1,
00457      1, 1, 1, 1,
00458      1, 1, 1, 1,
00459      -1, -1, -1, -1 },
00460    { -1, -1,
00461      3, 3, 3, 3,
00462      3, 3, 3, 3,
00463      3, 3, 3, 3,
00464      3, 3, 3, 3,
00465      -1, -1, -1, -1 },
00466    { -1, -1,
00467      3, 1, 3, 1,
00468      3, 1, 3, 1,
00469      1, 3, 1, 3,
00470      1, 3, 1, 3,
00471      -1, -1, -1, -1 }
00472   };
00473 
00474   Int_t tmpVaShield[16][6]={
00475     { 12,-1,-1,10,11,11 },
00476     { 12,-1,-1,10,11,11 },
00477     { 22,-1,-1,20,21,21 },
00478     { 22,-1,-1,20,21,21 },
00479     { 12,-1,-1,10,11,11 },
00480     { 12,-1,-1,10,11,11 },
00481     { 22,-1,-1,20,21,21 },
00482     { 22,-1,-1,20,21,21 },
00483     { 32,-1,-1,30,31,31 },
00484     { 32,-1,-1,30,31,31 },
00485     { 40,41,41,42,-1,-1 },
00486     { 40,41,41,42,-1,-1 },
00487     { 32,-1,-1,30,31,31 },
00488     { 32,-1,-1,30,31,31 },
00489     { 40,41,41,42,-1,-1 },
00490     { 40,41,41,42,-1,-1 },
00491   };
00492 
00493   for(i=0;i<16;i++){
00494     for(j=0;j<24;j++){
00495       VaReadout[i][j]=tmpVaReadout[i][j];
00496     }
00497   }
00498  
00499   for(i=0;i<16;i++){
00500     for(j=0;j<24;j++){
00501       VaBasePlane[i][j]=tmpVaBasePlane[i][j];
00502     }
00503   }
00504 
00505   for(i=0;i<6;i++){
00506     for(j=0;j<22;j++){
00507       VaAddPlane[i][j]=tmpVaAddPlane[i][j];
00508     }
00509   }
00510 
00511   for(i=0;i<16;i++){
00512     for(j=0;j<6;j++){
00513       VaShield[i][j]=tmpVaShield[i][j];
00514     }
00515   }
00516 
00517   // 
00518   // VA CHANNEL -> PULSER BOX
00519   // need to use PlexHandle.GetLedPulserBoxFromTpmt(RawChannelId) 
00520   //
00521 
00522   Int_t tmpVaPulserBox[22]={
00523     -1, -1,
00524     14, 1, 7, 8,
00525     4, 10, 13, 3,
00526     11, 5, 2, 12,
00527     0, 6, 9, 15,
00528     -1, -1, -1, -1
00529   };
00530  
00531   for(i=0;i<22;i++){
00532     VaPulserBox[i]=tmpVaPulserBox[i];
00533   }
00534 
00535   //
00536   // QIE MENU -> READOUT TYPE
00537   // need to use PlexHandle.GetReadoutType(RawChannelId) 
00538   //  
00539   // detector readout type = QieReadout[crate][master-9] 
00540   // detector base plane = QieBasePlane[crate][master-9] 
00541   // detector add plane = QieAddPlane(1,2,3)[minder][menu]
00542   // detector plane 281 = QieHackPlane281[minder][menu]
00543   //
00544 
00545   Int_t tmpQieReadout[8][12] = {
00546    { -1, -1, -1, -1, -1, -1, -1, -1, 3, 3, 3, 3 },
00547    { -1, -1, -1, -1, -1, -1, -1, -1, 3, 3, 3, 3 },
00548    { 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2 },
00549    { 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1 },
00550    { 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2 },
00551    { 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1 },
00552    { 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2 },
00553    { 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1 },
00554   };
00555 
00556   Int_t tmpQieBasePlane[8][12] = {
00557    { -1, -1, -1, -1, -1, -1, -1, -1, 241, 201, 161, 121 },
00558    { -1, -1, -1, -1, -1, -1, -1, -1, 246, 206, 166, 126 },
00559    { 117, 113, 111, 107, 103, 101, 97, 93, 91, 87, 83, 81 },
00560    { 118, 116, 112, 108, 106, 102, 98, 96, 92, 88, 86, 82 },
00561    { 77, 73, 71, 67, 63, 61, 57, 53, 51, 47, 43, 41 },
00562    { 78, 76, 72, 68, 66, 62, 58, 56, 52, 48, 46, 42 },
00563    { 37, 33, 31, 27, 23, 21, 17, 13, 11, 7, 3, 1 },
00564    { 38, 36, 32, 28, 26, 22, 18, 16, 12, 8, 6, 2 },
00565   };
00566 
00567   Int_t tmpQieAddPlane1[8][16] = {
00568     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00569     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00570     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00571     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00572     { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00573     { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00574     { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00575     { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00576   };
00577 
00578   Int_t tmpQieAddPlane2[8][16] = {
00579     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00580     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00581     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00582     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00583     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00584     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00585     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00586     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00587   };
00588 
00589   Int_t tmpQieAddPlane3[8][16] = {
00590     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00591     { 0, 10, 0, 10, 10, 0, 10, 0, 0, 10, 0, 10, 10, 0, 10, 0 },
00592     { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
00593     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00594     { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
00595     { 20, 30, 20, 30, 30, 20, 30, 20, 20, 30, 20, 30, 30, 20, 30, 20 },
00596     { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
00597     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00598   };
00599 
00600   Int_t tmpQieHackPlane281[8][16] = {
00601     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00602     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00603     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00604     { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
00605     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00606     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00607     { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
00608     { 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1 },
00609   };
00610 
00611   for(i=0;i<8;i++){
00612     for(j=0;j<12;j++){
00613       QieReadout[i][j]=tmpQieReadout[i][j];
00614     }
00615   }
00616 
00617   for(i=0;i<8;i++){
00618     for(j=0;j<12;j++){
00619       QieBasePlane[i][j]=tmpQieBasePlane[i][j];
00620     }
00621   }
00622 
00623   for(i=0;i<8;i++){
00624     for(j=0;j<16;j++){
00625       QieAddPlane1[i][j]=tmpQieAddPlane1[i][j];
00626       QieAddPlane2[i][j]=tmpQieAddPlane2[i][j];
00627       QieAddPlane3[i][j]=tmpQieAddPlane3[i][j];
00628     }
00629   }
00630 
00631   for(i=0;i<8;i++){
00632     for(j=0;j<16;j++){
00633       QieHackPlane281[i][j]=tmpQieHackPlane281[i][j];
00634     }
00635   }
00636 
00637   // 
00638   // QIE MENU -> PULSER BOX
00639   // need to use PlexHandle.GetLedPulserBoxFromTpmt(RawChannelId) 
00640   //
00641 
00642   Int_t tmpQiePulserBox[16]={
00643     -1, -1, -1, 2, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 1, -1
00644   };
00645  
00646   for(i=0;i<16;i++){
00647     QiePulserBox[i]=tmpQiePulserBox[i];
00648   }
00649 
00650 
00651   return;
00652 }


Member Data Documentation

Int_t RawReadout::QieAddPlane1[8][16] [private]

Definition at line 39 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::QieAddPlane2[8][16] [private]

Definition at line 40 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::QieAddPlane3[8][16] [private]

Definition at line 41 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::QieBasePlane[8][12] [private]

Definition at line 38 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::QieHackPlane281[8][16] [private]

Definition at line 42 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::QiePulserBox[16] [private]

Definition at line 43 of file RawReadout.h.

Referenced by GetPulserBox(), and Setup().

Int_t RawReadout::QieReadout[8][12] [private]

Definition at line 37 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::VaAddPlane[6][22] [private]

Definition at line 33 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::VaBasePlane[16][24] [private]

Definition at line 32 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::VaPulserBox[22] [private]

Definition at line 35 of file RawReadout.h.

Referenced by GetPulserBox(), and Setup().

Int_t RawReadout::VaReadout[16][24] [private]

Definition at line 31 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().

Int_t RawReadout::VaShield[16][6] [private]

Definition at line 34 of file RawReadout.h.

Referenced by GetReadoutType(), and Setup().


The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1