LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpDetElement.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 7 8 87.5 %
Date: 2016-06-14 17:26:59 Functions: 8 12 66.7 %

          Line data    Source code
       1             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       2             :  * See cxx source for full Copyright notice                               */
       3             : 
       4             : // $Id$
       5             : // $MpId: AliMpDetElement.h,v 1.6 2006/05/24 13:58:16 ivana Exp $ 
       6             : 
       7             : /// \ingroup management
       8             : /// \class AliMpDetElement
       9             : /// \brief The class defines the electronics properties of detection element
      10             : ///
      11             : /// \author Ivana Hrivnacova, IPN Orsay;
      12             : ///         Laurent Aphecetche, Ch. Finck, Subatech Nantes
      13             : 
      14             : #ifndef ALI_MP_DET_ELEMENT_H
      15             : #define ALI_MP_DET_ELEMENT_H
      16             : 
      17             : #include <TObject.h>
      18             : #include <TArrayI.h>
      19             : #include <TExMap.h>
      20             : 
      21             : #include "AliMpArrayI.h"
      22             : #include "AliMpPlaneType.h"
      23             : #include "AliMpCathodType.h"
      24             : #include "AliMpStationType.h"
      25             : #include "AliMpStation12Type.h"
      26             : 
      27             : #ifndef ALI_MP_EX_MAP_H
      28             : #  include "AliMpExMap.h"
      29             : #endif
      30             : 
      31             : class AliMpVSegmentation;
      32             : class AliMpArrayI;
      33             : 
      34             : class AliMpDetElement : public  TObject {
      35             : 
      36             :   public:  
      37             :     AliMpDetElement(Int_t id, const TString& name,
      38             :                     const TString& segType, AliMp::PlaneType planeType);
      39             :     AliMpDetElement(TRootIOCtor* ioCtor);
      40             :     virtual ~AliMpDetElement();
      41             : 
      42             :     // static methods
      43             :     static char GetNameSeparator(); 
      44             :     
      45             :     // methods
      46             :     Bool_t AddBusPatch(Int_t busPatchId); 
      47             :     void   AddManu(Int_t manuId);
      48             :     void   SetDdlId(Int_t ddlId);
      49             : 
      50             :     // get methods
      51             :     Int_t   GetId() const;
      52             :     Int_t   GetDdlId() const;
      53             :     TString GetDEName() const;
      54             :     TString GetSegType() const;
      55             :     TString GetSegName(AliMp::CathodType cath) const;
      56             : 
      57             :     AliMp::PlaneType     GetPlaneType(AliMp::CathodType cath) const;
      58             :     AliMp::CathodType    GetCathodType(AliMp::PlaneType planeType) const;
      59             :     AliMp::CathodType    GetCathodTypeFromManuId(Int_t manuId) const;
      60             :     AliMp::StationType   GetStationType() const;
      61             :     AliMq::Station12Type GetStation12Type() const;
      62             :     
      63             :     Int_t  GetNofBusPatches() const;
      64             :     Int_t  GetBusPatchId(Int_t index) const;
      65             :     Bool_t HasBusPatchId(Int_t busPatchId) const;
      66             : 
      67             :     Int_t  NofManus() const;
      68             :     Int_t  NofChannelsInManu(Int_t manuId) const;
      69             :     Bool_t IsExistingChannel(Int_t manuId, Int_t manuChannel) const;
      70             :     Bool_t IsConnectedChannel(Int_t manuId, Int_t manuChannel) const;
      71             :     
      72             :     const AliMpArrayI* ManusForHV(Int_t hvIndex) const;
      73             :     
      74             :            /// Return the number of channels in this detection element    
      75           0 :     Int_t NofChannels() const { return fNofChannels; }
      76             :     
      77             :   private:
      78             :     /// Not implemented
      79             :     AliMpDetElement();
      80             :     /// Not implemented
      81             :     AliMpDetElement(const AliMpDetElement& rhs);
      82             :     /// Not implemented
      83             :     AliMpDetElement& operator=(const AliMpDetElement& rhs);
      84             : 
      85             :     // static data members      
      86             :     static const char  fgkNameSeparator; ///< Separator character used in DE names
      87             : 
      88             :     // data members     
      89             :     Int_t          fId;         ///< Identifier (unique)
      90             :     Int_t          fDdlId;      ///< DDL Id to which this DE is connected
      91             :     TString        fName;       ///< Name unique
      92             :     TString        fSegType;    ///< Segmentation type name
      93             :     AliMp::PlaneType fPlaneType;  ///< Plane type on cathod0
      94             :     //AliMpExMap     fBusPatches; ///< Bus patches connected to this detection element
      95             :     AliMpArrayI    fBusPatchIds;  ///< Bus patches connected to this detection element
      96             :     
      97             :     mutable TExMap fManuList;  ///< map of manus
      98             :     mutable TExMap fTrackerChannels; ///< list of connected pads (tracker only)
      99             :     
     100             :     AliMpExMap fHVmanus; ///< map of HV->manu
     101             :     
     102             :     Int_t fNofChannels; ///< number of channels in this detection element
     103             :     
     104      403890 :   ClassDef(AliMpDetElement,4)  // The manager class for definition of detection element types
     105             : };
     106             : 
     107             : // inline function
     108             : 
     109             : /// Return the name separator
     110             : inline  char AliMpDetElement::GetNameSeparator()
     111        1800 : { return fgkNameSeparator; }  
     112             : 
     113             : /// Set DDL Id
     114             : inline  void AliMpDetElement::SetDdlId(Int_t ddlId)
     115        1368 : { fDdlId = ddlId; }
     116             : 
     117             : /// Return Id
     118             : inline  Int_t   AliMpDetElement::GetId() const
     119      129056 : { return fId; }
     120             : 
     121             : /// Return DDL Id
     122             : inline  Int_t   AliMpDetElement::GetDdlId() const
     123      140240 : { return fDdlId; }
     124             : 
     125             : /// Return name
     126             : inline  TString AliMpDetElement::GetDEName() const
     127         912 : { return fName; }
     128             : 
     129             : /// Return segmentation type name
     130             : inline  TString AliMpDetElement::GetSegType() const
     131        1116 : { return fSegType; }
     132             : 
     133             : #endif //ALI_MP_MANAGER_H
     134             : 
     135             : 
     136             : 
     137             : 
     138             : 
     139             : 
     140             : 
     141             : 
     142             : 
     143             : 
     144             : 
     145             : 
     146             : 
     147             : 
     148             : 

Generated by: LCOV version 1.11