]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONLocalStruct.cxx
Classes for trigger raw data
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalStruct.cxx
diff --git a/MUON/AliMUONLocalStruct.cxx b/MUON/AliMUONLocalStruct.cxx
new file mode 100644 (file)
index 0000000..e6c3a5a
--- /dev/null
@@ -0,0 +1,147 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+#include "AliMUONLocalStruct.h"
+
+/// 
+/// Local structure for trigger raw data.
+/// The structure includes the information
+///  about the x,y position of the 4 detection planes,
+/// the trigger word (address, local decision, y trigger, y position, x deviation,
+/// x position)
+///
+
+ClassImp(AliMUONLocalStruct)
+ const Int_t  AliMUONLocalStruct::fgkLength = 5;
+ const Int_t  AliMUONLocalStruct::fgkScalerLength = 45;
+ const UInt_t AliMUONLocalStruct::fgkEndOfLocal   = 0xCAFEFADE;
+
+//___________________________________________
+AliMUONLocalStruct::AliMUONLocalStruct()
+  :  TObject(),
+     fL0(0),   
+     fHold(0), 
+     fClk(0),   
+     fLPtNTrig(0), 
+     fHPtNTrig(0), 
+     fLPtRTrig(0), 
+     fHPtRTrig(0), 
+     fLPtLTrig(0), 
+     fHPtLTrig(0), 
+     fLPtSTrig(0), 
+     fHPtSTrig(0), 
+     fEOS(0),         
+     fReset(0)       
+{
+  //
+  // ctor
+  //
+  for (Int_t i = 0; i < 5; i++)
+    fData[i] = 0;
+
+  for (Int_t i = 0; i < 8*4; i++)
+    fScaler[i] = 0;
+
+
+}
+
+//___________________________________________
+AliMUONLocalStruct::AliMUONLocalStruct(const AliMUONLocalStruct& event)
+  :  TObject(event)
+{
+  //
+  // copy ctor
+  //
+  fL0       = event.fL0;
+  fHold     = event.fHold;
+  fClk      = event.fClk;
+  fLPtNTrig = event.fLPtNTrig;
+  fHPtNTrig = event.fHPtNTrig;
+  fLPtRTrig = event.fLPtRTrig;
+  fHPtRTrig = event.fHPtRTrig;
+  fLPtLTrig = event.fLPtLTrig;
+  fHPtLTrig = event.fHPtLTrig;
+  fLPtSTrig = event.fLPtSTrig;
+  fHPtSTrig = event.fHPtSTrig;
+  fEOS      = event.fEOS;
+  fReset    = event.fReset  ;
+
+  for (Int_t i = 0; i < 5; i++)
+    fData[i] = event.fData[i];
+
+  for (Int_t i = 0; i < 8*4; i++)
+    fScaler[i] = event.fScaler[i];
+
+
+}
+//___________________________________________
+AliMUONLocalStruct& 
+AliMUONLocalStruct::operator=(const AliMUONLocalStruct& event)
+{
+  // 
+  // assignment operator
+  //
+
+  if (this == &event) return *this;
+
+  fL0       = event.fL0;
+  fHold     = event.fHold;
+  fClk      = event.fClk;
+  fLPtNTrig = event.fLPtNTrig;
+  fHPtNTrig = event.fHPtNTrig;
+  fLPtRTrig = event.fLPtRTrig;
+  fHPtRTrig = event.fHPtRTrig;
+  fLPtLTrig = event.fLPtLTrig;
+  fHPtLTrig = event.fHPtLTrig;
+  fLPtSTrig = event.fLPtSTrig;
+  fHPtSTrig = event.fHPtSTrig;
+  fEOS      = event.fEOS;
+  fReset    = event.fReset;
+
+  for (Int_t i = 0; i < 5; i++)
+    fData[i] = event.fData[i];
+
+  for (Int_t i = 0; i < 8*4; i++)
+    fScaler[i] = event.fScaler[i];
+
+  return *this;
+}
+
+//___________________________________________
+void AliMUONLocalStruct::SetScalersNumbers()
+{
+  // set numbers for scaler events for local structure
+  // crasy numbers for scaler words, while no beam is coming
+  //
+
+  fL0       = 1000;   
+  fHold     = 100; 
+  fClk      = 10000;  
+  fLPtNTrig = 1; 
+  fHPtNTrig = 1; 
+  fLPtRTrig = 2; 
+  fHPtRTrig = 2; 
+  fLPtLTrig = 3; 
+  fHPtLTrig = 3; 
+  fLPtSTrig = 4; 
+  fHPtSTrig = 4; 
+  fEOS      = 0x2AA;         
+  fReset    = 10;     
+
+  for (Int_t i = 0; i < 8*4; i++)
+    fScaler[i] = i;
+
+}