]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSOnlineSDDInjectors.cxx
Bug fix
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSDDInjectors.cxx
index dac882a232cffb8ae7100b1444ebed9f5a5a15f4..2871cc6bae8ffc406ca2ac4e6ba7a64a652a6d18 100644 (file)
@@ -45,7 +45,7 @@ AliITSOnlineSDDInjectors::AliITSOnlineSDDInjectors():AliITSOnlineSDD(),fHisto(),
   SetTimeDiffTB();
 }
 //______________________________________________________________________
-AliITSOnlineSDDInjectors::AliITSOnlineSDDInjectors(Int_t mod, Int_t sid):AliITSOnlineSDD(mod,sid),fHisto(),fTbZero(0.),fParam(),fPolOrder(0),fMinDriftVel(0.),fMaxDriftVel(0.),fThreshold(0.),fTimeDiffTB()
+AliITSOnlineSDDInjectors::AliITSOnlineSDDInjectors(Int_t nddl, Int_t ncarlos, Int_t sid):AliITSOnlineSDD(nddl,ncarlos,sid),fHisto(),fTbZero(0.),fParam(),fPolOrder(0),fMinDriftVel(0.),fMaxDriftVel(0.),fThreshold(0.),fTimeDiffTB()
 { 
 // standard constructor
   SetMinDriftVel();
@@ -294,7 +294,30 @@ Int_t AliITSOnlineSDDInjectors::GetAnodeNumber(Int_t iInjLine) const{
   }
   return ian;
 }
-
+//______________________________________________________________________
+Int_t AliITSOnlineSDDInjectors::GetLineNumberFromAnode(Int_t nAnode) const{
+  //
+  Int_t iLine=-1;
+  if(!fSide){
+    if(nAnode%8==0) iLine=nAnode/8;
+    if(nAnode==255) iLine=32;
+  }else{
+    if(nAnode%8==7) iLine=1+nAnode/8;
+    if(nAnode==0) iLine=0;
+  }
+  if(nAnode>=256) iLine=-1;
+  return iLine;
+}
+//______________________________________________________________________
+Int_t AliITSOnlineSDDInjectors::GetAnodeStatus(Int_t nAnode) const{
+  //
+  Int_t iii=GetLineNumberFromAnode(nAnode);
+  Int_t istatus=0;
+  if(iii>=0){
+    for(Int_t ninj=0;ninj<3;ninj++) istatus+=fGoodInj[iii][ninj]<<ninj;
+  }
+  return istatus;
+}
 //______________________________________________________________________
 void AliITSOnlineSDDInjectors::FindGoodInjectors(){
   // 
@@ -390,9 +413,12 @@ void AliITSOnlineSDDInjectors::PrintCentroids(){
 void AliITSOnlineSDDInjectors::WriteToASCII(Int_t evNumb, UInt_t timeStamp, Int_t optAppend){
   //
   Char_t outfilnam[100];
-  sprintf(outfilnam,"SDDinj_mod%03d_sid%d.data",fModuleId,fSide);
+  sprintf(outfilnam,"SDDinj_ddl%02dc%02d_sid%d.data",fDDL,fCarlos,fSide);  
   FILE* outf;
-  if(optAppend==0) outf=fopen(outfilnam,"w");
+  if(optAppend==0){ 
+    outf=fopen(outfilnam,"w");
+    fprintf(outf,"%d\n",fPolOrder);
+  }
   else outf=fopen(outfilnam,"a");
   fprintf(outf,"%d   %d   ",evNumb,timeStamp);
   for(Int_t ic=0;ic<fPolOrder+1;ic++){