]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONLocalTriggerBoard.cxx
Fixes for #86059: Install data when ALICE_ROOT does not point to source (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTriggerBoard.cxx
index 7277d409649255cec9b1a3a2ed4baf024c64c29b..e43fe80222dec99a7f9b09ad4a3db13860f9f9b2 100644 (file)
@@ -507,28 +507,6 @@ void AliMUONLocalTriggerBoard::BP(const Option_t *option) const
    }
 }
 
-//___________________________________________
-void AliMUONLocalTriggerBoard::Module(char *mod)
-{
-/// get module from name
-///
-   const Int_t kMaxfields = 2; char **fields = new char*[kMaxfields];
-
-   char s[100]; strcpy(s, GetName());
-
-   Int_t numlines = 0;
-
-   for (char *token = strtok(s, "B");
-        token != NULL;
-        token = strtok(NULL, " "))
-   {
-      fields[numlines] = new char[strlen(token)+1];
-      strcpy(fields[numlines++],token);
-   }
-   strcpy(mod,fields[0]);
-}
-
 //___________________________________________
 void AliMUONLocalTriggerBoard::TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32])
 {
@@ -974,6 +952,8 @@ void AliMUONLocalTriggerBoard::TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], I
       tmpy4dto16[2*i+1] = (y4d[i]&GetSwitch(0)) | (y4d[2*i+1]&!GetSwitch(0));
    }
   
+   for (i=0; i<16; i++) ch3[i] = ch4[i] = 0;
+
    if (GetSwitch(3)==0&&GetSwitch(4)==0){
       for (i=0; i<16; i++){
          ch3[i] = tmpy3to16[i];
@@ -1194,9 +1174,13 @@ Int_t AliMUONLocalTriggerBoard::GetI() const
 {
 /// old numbering
 ///
+
    const Int_t kMaxfields = 2; char **fields = new char*[kMaxfields];
 
-   char s[100]; strcpy(s, GetName());
+   for (Int_t i = 0; i < kMaxfields; i++) 
+     fields[i] = new char[1];
+
+   char s[100]; strncpy(s, GetName(), 99);
 
    Int_t numlines = 0;
 
@@ -1204,6 +1188,7 @@ Int_t AliMUONLocalTriggerBoard::GetI() const
         token != NULL;
         token = strtok(NULL, " "))
    {
+      delete [] fields[numlines];
       fields[numlines] = new char[strlen(token)+1];
       strcpy(fields[numlines++], token);
    }
@@ -1230,6 +1215,8 @@ Int_t AliMUONLocalTriggerBoard::GetI() const
    Int_t ic = 0;
 
    for (Int_t i=0; i<234; i++) if (fgkCircuitId[i] == code) {ic = i; break;}
+   
+   delete [] fields;
 
    return ic;
 }
@@ -1242,7 +1229,7 @@ void AliMUONLocalTriggerBoard::Mask(Int_t index, UShort_t mask)
   if ( index >= 0 && index < 2*4 )
   {
     Int_t i = index/4;
-    Int_t j = index - i*4;
+    Int_t j = index%4;
     fMask[i][j]=mask;
   }
   else