ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$ 

/// \ingroup calib
/// \class AliMUONTriggerCrateConfig
/// \brief The class defines the configuration of trigger crate
///
/// \author Ch. Finck, Subatech Nantes

#ifndef ALI_MUON_TRIGGER_CRATE_CONFIG_H
#define ALI_MUON_TRIGGER_CRATE_CONFIG_H

#include "AliMpArrayI.h"
#include "AliMpTriggerCrate.h"

#include <TObject.h>
#include <TString.h>
#include "AliMpArrayI.h"

class AliMUONTriggerCrateConfig : public  TObject {

  public:
    AliMUONTriggerCrateConfig(AliMpTriggerCrate* mpTriggerCrate);
    AliMUONTriggerCrateConfig(TRootIOCtor* ioCtor);
    virtual ~AliMUONTriggerCrateConfig();
    
      // 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;
    UShort_t GetCoinc() const;
    Int_t  GetNofLocalBoards() const;
    Int_t  GetLocalBoardId(Int_t index) const;
    Bool_t HasLocalBoard(Int_t localBoardId) const;
    Bool_t AddLocalBoard(Int_t localBoardId);
    
    // 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
    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 fMpCrate->GetId(); }

/// Return mask
inline UShort_t AliMUONTriggerCrateConfig::GetMask() const
{  return fMask; }

/// Return Mode
inline UShort_t AliMUONTriggerCrateConfig::GetMode() const
{  return fMode; }

/// Return coinc
inline UShort_t AliMUONTriggerCrateConfig::GetCoinc() const
{  return fCoinc; }

#endif














 AliMUONTriggerCrateConfig.h:1
 AliMUONTriggerCrateConfig.h:2
 AliMUONTriggerCrateConfig.h:3
 AliMUONTriggerCrateConfig.h:4
 AliMUONTriggerCrateConfig.h:5
 AliMUONTriggerCrateConfig.h:6
 AliMUONTriggerCrateConfig.h:7
 AliMUONTriggerCrateConfig.h:8
 AliMUONTriggerCrateConfig.h:9
 AliMUONTriggerCrateConfig.h:10
 AliMUONTriggerCrateConfig.h:11
 AliMUONTriggerCrateConfig.h:12
 AliMUONTriggerCrateConfig.h:13
 AliMUONTriggerCrateConfig.h:14
 AliMUONTriggerCrateConfig.h:15
 AliMUONTriggerCrateConfig.h:16
 AliMUONTriggerCrateConfig.h:17
 AliMUONTriggerCrateConfig.h:18
 AliMUONTriggerCrateConfig.h:19
 AliMUONTriggerCrateConfig.h:20
 AliMUONTriggerCrateConfig.h:21
 AliMUONTriggerCrateConfig.h:22
 AliMUONTriggerCrateConfig.h:23
 AliMUONTriggerCrateConfig.h:24
 AliMUONTriggerCrateConfig.h:25
 AliMUONTriggerCrateConfig.h:26
 AliMUONTriggerCrateConfig.h:27
 AliMUONTriggerCrateConfig.h:28
 AliMUONTriggerCrateConfig.h:29
 AliMUONTriggerCrateConfig.h:30
 AliMUONTriggerCrateConfig.h:31
 AliMUONTriggerCrateConfig.h:32
 AliMUONTriggerCrateConfig.h:33
 AliMUONTriggerCrateConfig.h:34
 AliMUONTriggerCrateConfig.h:35
 AliMUONTriggerCrateConfig.h:36
 AliMUONTriggerCrateConfig.h:37
 AliMUONTriggerCrateConfig.h:38
 AliMUONTriggerCrateConfig.h:39
 AliMUONTriggerCrateConfig.h:40
 AliMUONTriggerCrateConfig.h:41
 AliMUONTriggerCrateConfig.h:42
 AliMUONTriggerCrateConfig.h:43
 AliMUONTriggerCrateConfig.h:44
 AliMUONTriggerCrateConfig.h:45
 AliMUONTriggerCrateConfig.h:46
 AliMUONTriggerCrateConfig.h:47
 AliMUONTriggerCrateConfig.h:48
 AliMUONTriggerCrateConfig.h:49
 AliMUONTriggerCrateConfig.h:50
 AliMUONTriggerCrateConfig.h:51
 AliMUONTriggerCrateConfig.h:52
 AliMUONTriggerCrateConfig.h:53
 AliMUONTriggerCrateConfig.h:54
 AliMUONTriggerCrateConfig.h:55
 AliMUONTriggerCrateConfig.h:56
 AliMUONTriggerCrateConfig.h:57
 AliMUONTriggerCrateConfig.h:58
 AliMUONTriggerCrateConfig.h:59
 AliMUONTriggerCrateConfig.h:60
 AliMUONTriggerCrateConfig.h:61
 AliMUONTriggerCrateConfig.h:62
 AliMUONTriggerCrateConfig.h:63
 AliMUONTriggerCrateConfig.h:64
 AliMUONTriggerCrateConfig.h:65
 AliMUONTriggerCrateConfig.h:66
 AliMUONTriggerCrateConfig.h:67
 AliMUONTriggerCrateConfig.h:68
 AliMUONTriggerCrateConfig.h:69
 AliMUONTriggerCrateConfig.h:70
 AliMUONTriggerCrateConfig.h:71
 AliMUONTriggerCrateConfig.h:72
 AliMUONTriggerCrateConfig.h:73
 AliMUONTriggerCrateConfig.h:74
 AliMUONTriggerCrateConfig.h:75
 AliMUONTriggerCrateConfig.h:76
 AliMUONTriggerCrateConfig.h:77
 AliMUONTriggerCrateConfig.h:78
 AliMUONTriggerCrateConfig.h:79
 AliMUONTriggerCrateConfig.h:80
 AliMUONTriggerCrateConfig.h:81
 AliMUONTriggerCrateConfig.h:82
 AliMUONTriggerCrateConfig.h:83
 AliMUONTriggerCrateConfig.h:84
 AliMUONTriggerCrateConfig.h:85
 AliMUONTriggerCrateConfig.h:86
 AliMUONTriggerCrateConfig.h:87
 AliMUONTriggerCrateConfig.h:88
 AliMUONTriggerCrateConfig.h:89
 AliMUONTriggerCrateConfig.h:90
 AliMUONTriggerCrateConfig.h:91
 AliMUONTriggerCrateConfig.h:92
 AliMUONTriggerCrateConfig.h:93
 AliMUONTriggerCrateConfig.h:94
 AliMUONTriggerCrateConfig.h:95
 AliMUONTriggerCrateConfig.h:96
 AliMUONTriggerCrateConfig.h:97
 AliMUONTriggerCrateConfig.h:98
 AliMUONTriggerCrateConfig.h:99
 AliMUONTriggerCrateConfig.h:100
 AliMUONTriggerCrateConfig.h:101
 AliMUONTriggerCrateConfig.h:102
 AliMUONTriggerCrateConfig.h:103
 AliMUONTriggerCrateConfig.h:104
 AliMUONTriggerCrateConfig.h:105
 AliMUONTriggerCrateConfig.h:106
 AliMUONTriggerCrateConfig.h:107
 AliMUONTriggerCrateConfig.h:108
 AliMUONTriggerCrateConfig.h:109
 AliMUONTriggerCrateConfig.h:110
 AliMUONTriggerCrateConfig.h:111
 AliMUONTriggerCrateConfig.h:112
 AliMUONTriggerCrateConfig.h:113
 AliMUONTriggerCrateConfig.h:114
 AliMUONTriggerCrateConfig.h:115
 AliMUONTriggerCrateConfig.h:116
 AliMUONTriggerCrateConfig.h:117
 AliMUONTriggerCrateConfig.h:118
 AliMUONTriggerCrateConfig.h:119