Write only detector coefficients from HLT (Raphaelle)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCrateConfig.h
index 4995b98..330a3e9 100644 (file)
@@ -9,25 +9,30 @@
 ///
 /// \author Ch. Finck, Subatech Nantes
 
-#ifndef ALIMUON_TRIGGER_CRATE_CONFIG_H
-#define ALIMUON_TRIGGER_CRATE_CONFIG_H
+#ifndef ALI_MUON_TRIGGER_CRATE_CONFIG_H
+#define ALI_MUON_TRIGGER_CRATE_CONFIG_H
 
 #include "AliMpArrayI.h"
+#include "AliMpTriggerCrate.h"
 
-#include <TNamed.h>
+#include <TObject.h>
 #include <TString.h>
 #include "AliMpArrayI.h"
 
-class AliMUONTriggerCrateConfig : public  TNamed {
+class AliMUONTriggerCrateConfig : public  TObject {
 
   public:
-  
-    AliMUONTriggerCrateConfig();
-    AliMUONTriggerCrateConfig(const Char_t* name, UShort_t Id, UShort_t mask, 
-                              UShort_t mode, UShort_t coinc);
+    AliMUONTriggerCrateConfig(AliMpTriggerCrate* mpTriggerCrate);
+    AliMUONTriggerCrateConfig(TRootIOCtor* ioCtor);
     virtual ~AliMUONTriggerCrateConfig();
     
-      /// get methods
+      // set methods
+    void SetMask(UShort_t mask);
+    void SetMode(UShort_t mode);
+    void SetCoinc(UShort_t coinc);
+
+      // get methods
+    const Char_t* GetName() const;
     UShort_t GetId()  const;
     UShort_t GetMask() const;
     UShort_t GetMode() const;
@@ -37,28 +42,53 @@ class AliMUONTriggerCrateConfig : public  TNamed {
     Bool_t HasLocalBoard(Int_t localBoardId) const;
     Bool_t AddLocalBoard(Int_t localBoardId);
     
-  private:
+    // Only for checking data memebres for backward compatibility
+    // These methods should not be called from other code !!!
+    Int_t  GetNofLocalBoardsOld() const;
+    Int_t  GetLocalBoardIdOld(Int_t index) const;
 
+  private:
+    /// Not implemented
+    AliMUONTriggerCrateConfig();
     /// Not implemented
     AliMUONTriggerCrateConfig(const AliMUONTriggerCrateConfig& rhs);
     /// Not implemented
     AliMUONTriggerCrateConfig& operator=(const AliMUONTriggerCrateConfig& rhs);
 
     // data members
-    UShort_t     fId;         ///< crate number
-    UShort_t     fMask;       ///< regional mask
-    UShort_t     fMode;       ///< mode operating for crate
-    UShort_t     fCoinc;      ///< coincidence mode for crate
-    AliMpArrayI  fLocalBoard; ///< local board connected to this crate
-
-  ClassDef(AliMUONTriggerCrateConfig,1)  // The class collectiong electronics properties of DDL
+    AliMpTriggerCrate* fMpCrate; ///< mapping crate
+    UShort_t           fMask;    ///< regional mask
+    UShort_t           fMode;    ///< mode operating for crate
+    UShort_t           fCoinc;   ///< coincidence mode for crate
+    
+    // not used data members kept for backward compatibility
+    UShort_t     fId;            ///< crate number 
+    AliMpArrayI  fLocalBoard;    ///< local board connected to this crate
+  ClassDef(AliMUONTriggerCrateConfig,2)  // The class collectiong electronics properties of DDL
 };
 
 // inline functions
 
+/// Set regional mask
+inline void AliMUONTriggerCrateConfig::SetMask(UShort_t mask)   
+{ fMask = mask; }
+
+/// Set mode operating for crate
+inline void AliMUONTriggerCrateConfig::SetMode(UShort_t mode)   
+{ fMode = mode; }
+
+/// Set coincidence mode for crate
+inline void AliMUONTriggerCrateConfig::SetCoinc(UShort_t coinc) 
+{ fCoinc = coinc; }
+
+/// Return  name
+inline const Char_t* AliMUONTriggerCrateConfig::GetName() const
+{  return fMpCrate->GetName(); }
+
 /// Return  Id
 inline UShort_t AliMUONTriggerCrateConfig::GetId() const
-{  return fId; }
+{  return fMpCrate->GetId(); }
 
 /// Return mask
 inline UShort_t AliMUONTriggerCrateConfig::GetMask() const