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

// $Id$
// $MpId: AliMpDDL.h,v 1.6 2006/05/24 13:58:16 ivana Exp $ 

/// \ingroup management
/// \class AliMpDDL
/// \brief The class defined electronics properties of DDL
///
/// \author Ivana Hrivnacova, IPN Orsay

#ifndef ALI_MP_DDL_H
#define ALI_MP_DDL_H

#include <TObject.h>

#include "AliMpArrayI.h"

class AliMpDDL : public  TObject {

  public:
    AliMpDDL(Int_t id);
    AliMpDDL(TRootIOCtor* /*ioCtor*/);
    virtual ~AliMpDDL();

    // methods 
    Bool_t AddDE(Int_t detElemId);
    Bool_t AddFrt(Int_t frtId);
    Bool_t AddTriggerCrate(Int_t crateId);

    void   FillBusPatchIds();

    // get methods
    Int_t  GetId() const;
    
    // DEs
    Int_t  GetNofDEs() const;
    Int_t  GetDEId(Int_t index) const;
    Bool_t HasDEId(Int_t detElemId) const;
  
     // FRT Crcous
    Int_t  GetNofFrts() const;
    Int_t  GetFrtId(Int_t index) const;
    Bool_t HasFrtId(Int_t frtId) const;
          
    // Bus patches
    Int_t  GetNofBusPatches() const;
    Int_t  GetBusPatchId(Int_t index) const;
    Bool_t HasBusPatchId(Int_t busPatchId) const;

    // Trigger crates
    Int_t  GetNofTriggerCrates() const;
    Int_t  GetTriggerCrateId(Int_t index) const;
    Bool_t HasTriggerCrateId(Int_t crateId) const;
    
    // Dsp info
    Int_t  GetMaxDsp() const;
    void   GetBusPerDsp(Int_t* iBusPerDSP) const; 

  private:
    /// Not implemented
    AliMpDDL();
    /// Not implemented
    AliMpDDL(const AliMpDDL& rhs);
    /// Not implemented
    AliMpDDL& operator=(const AliMpDDL& rhs);

    // data members	
    Int_t       fId;            ///< Identifier (unique)
    AliMpArrayI fDEIds;         ///< Detection element Ids connected to this DDL
    AliMpArrayI fFrtIds;        ///< FRT Crocus Ids connected to this DDL
    AliMpArrayI fBusPatchIds;   ///< Bus patch Ids connected to this DDL
    AliMpArrayI fTriggerCrateIds; ///< Trigger crate Ids connected to this DDL

     
  ClassDef(AliMpDDL,1)  // The class collectiong electronics properties of DDL
};

// inline functions

/// Return the unique Id
inline Int_t AliMpDDL::GetId() const
{  return fId; }

#endif //ALI_MP_MANAGER_H















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