]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZEROCalibData.cxx
Adding TDC channel delays to the calib object.
[u/mrichter/AliRoot.git] / VZERO / AliVZEROCalibData.cxx
index 8ff4e3fa5d0cc01a04322ecf688f313463d8a7a6..606d03c8f29b86ebdadc2006d2aec4a2568687e2 100644 (file)
@@ -203,10 +203,16 @@ void AliVZEROCalibData::SetParameter(TString name, Int_t val){
        // Set given parameter
        
        Int_t iBoard = -1;
+       Int_t iChannel = -1;
 
        TSeqCollection* nameSplit = name.Tokenize("/");
        TObjString * boardName = (TObjString *)nameSplit->At(2);
        sscanf(boardName->String().Data(),"CIU%d",&iBoard);
+
+       TString paramName = ((TObjString *)nameSplit->At(3))->String();
+       Char_t channel[2] ; channel[1] = '\0';
+       channel[0] = paramName[paramName.Sizeof()-2];
+       sscanf(channel,"%d",&iChannel);
                
        if(name.Contains("TimeResolution")) SetTimeResolution((UShort_t) val,iBoard);
        else if(name.Contains("WidthResolution")) SetWidthResolution((UShort_t) val,iBoard);
@@ -214,6 +220,7 @@ void AliVZEROCalibData::SetParameter(TString name, Int_t val){
        else if(name.Contains("SearchWindow")) SetSearchWindow((UInt_t) val,iBoard);
        else if(name.Contains("TriggerCountOffset")) SetTriggerCountOffset((UInt_t) val,iBoard);
        else if(name.Contains("RollOver")) SetRollOver((UInt_t) val,iBoard);
+       else if(name.Contains("DelayHit")) SetTimeOffset(0.01*(Float_t)val,8*iBoard+(iChannel-1));
        else AliError(Form("No Setter found for FEE parameter : %s",name.Data()));
 }
 
@@ -273,6 +280,17 @@ void AliVZEROCalibData::SetGain(const Float_t* Gain)
   else for(int t=0; t<128; t++) fGain[t] = 0.0;
 }
 
+//________________________________________________________________
+void AliVZEROCalibData::SetTimeOffset(Float_t val, Int_t channel)
+{
+  if((channel>=0) && (channel<64)){
+    fTimeOffset[channel]=val;
+    AliInfo(Form("Time offset for channel &d set to %f",channel,fTimeOffset[channel]));
+  }
+  else
+    AliError(Form("Channel %d is not valid",channel));
+}
+
 //________________________________________________________________
 void AliVZEROCalibData::SetTimeOffset(const Float_t* TimeOffset) 
 {