LCOV - code coverage report
Current view: top level - HLT/BASE - AliHLTHOMERSourceDesc.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 13 7.7 %
Date: 2016-06-14 17:26:59 Functions: 1 17 5.9 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIHLTHOMERSOURCEDESC_H
       4             : #define ALIHLTHOMERSOURCEDESC_H
       5             : 
       6             : /* This file is property of and copyright by the ALICE HLT Project        * 
       7             :  * ALICE Experiment at CERN, All rights reserved.                         *
       8             :  * See cxx source for full Copyright notice                               */
       9             : 
      10             : /** @file   AliHLTHOMERSourceDesc.h
      11             :     @author Jochen Thaeder
      12             :     @date   
      13             :     @brief  Container for HOMER Sources
      14             : */
      15             : 
      16             : // see below for class documentation
      17             : // or
      18             : // refer to README to build package
      19             : // or
      20             : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
      21             : 
      22             : /**
      23             :  * @defgroup alihlt_homer HOMER handling for AliROOT
      24             :  * This section describes the handling of HOMER Sources, Blocks 
      25             :  * and the HOMER Reader inside the HLT and AliROOT
      26             :  */
      27             : 
      28             : #include "TString.h"
      29             : #include "TNamed.h"
      30             : 
      31             : /**
      32             :  * @class AliHLTHOMERSourceDesc
      33             :  * This class contains the information of 1 homer source: hostname, port for the HOMER 
      34             :  * interface as well as data specifications. It used in order to fill these sources in 
      35             :  * TLists. ( It has to inherit from TObject ). Further more it knows if this source was
      36             :  * selected for read from a user. Mainly used in the AliEVEHOMERManager, as source 
      37             :  * objects for AliEVE.
      38             :  * 
      39             :  * @ingroup alihlt_homer
      40             :  */
      41             : class AliHLTHOMERSourceDesc : public TNamed {
      42             : 
      43             : public:
      44             : 
      45             :   /**  constructor */
      46             :   AliHLTHOMERSourceDesc();       
      47             : 
      48             :   /** destructor */
      49             :   virtual ~AliHLTHOMERSourceDesc();
      50             : 
      51             :   /*
      52             :    * ---------------------------------------------------------------------------------
      53             :    *                        Selection - public
      54             :    * ---------------------------------------------------------------------------------
      55             :    */
      56             : 
      57             :   // -- SELECTION --
      58             : 
      59             :   /** Set selection state
      60             :    * @param state      state, either kTRUE or kFALSE
      61             :    */
      62           0 :   void SetState( Bool_t state ) { fSelected = state; }
      63             : 
      64             :   /** Checks if Source is selected to readout 
      65             :    * @return           returns state, either kTRUE or kFALSE
      66             :    */
      67           0 :   Bool_t IsSelected()           { return fSelected; }
      68             : 
      69             :   /** Select this source */
      70           0 :   void Select()                 { fSelected = kTRUE; }
      71             :   
      72             :   /** Deselect this source */
      73           0 :   void Deselect()               { fSelected = kFALSE; }
      74             : 
      75             :   /*
      76             :    * ---------------------------------------------------------------------------------
      77             :    *                        Setter - public
      78             :    * ---------------------------------------------------------------------------------
      79             :    */
      80             : 
      81             :   /** Set Service of this source 
      82             :    *  @param hostname  hostname of the source
      83             :    *  @param port      port of the source
      84             :    *  @param origin    HLT data origin
      85             :    *  @param type      HLT data type
      86             :    *  @param spec      HLT data specification
      87             :    */
      88             :   void SetService( TString hostname, Int_t port, TString origin, 
      89             :                    TString type, TString spec );
      90             : 
      91             :   /*
      92             :    * ---------------------------------------------------------------------------------
      93             :    *                        Getter - public
      94             :    * ---------------------------------------------------------------------------------
      95             :    */
      96             : 
      97             :   /** Get node name of this source 
      98             :    * @return           hostname
      99             :    */
     100           0 :   TString& GetHostname()       { return fHostname; }
     101             : 
     102             :   /** Get node name of this source 
     103             :    * @return           port
     104             :    */
     105           0 :   Int_t   GetPort()           { return fPort; }
     106             : 
     107             :   /** Get name of this source 
     108             :    * @return           name
     109             :    */
     110           0 :   TString& GetSourceName()     { return fSourceName; }
     111             : 
     112             :   /** Get detector of this source 
     113             :    * @return           detector
     114             :    */
     115           0 :   TString& GetDetector()       { return fDetector; }
     116             : 
     117             :   /** Get sub detector of this source 
     118             :    * @return           subdetector
     119             :    */
     120           0 :   Int_t   GetSubDetector()    { return fSubDetector; }
     121             : 
     122             :   /** Get sub sub detector of this source 
     123             :    * @return           subsubdetector
     124             :    */
     125           0 :   Int_t   GetSubSubDetector() { return fSubSubDetector; }
     126             : 
     127             :   /** Get HLT data type of this source
     128             :    * @return           HLT data type
     129             :    */
     130           0 :   TString& GetDataType()       { return fDataType; }
     131             : 
     132             :   /** Get HLT specification of this source
     133             :    * @return           HLT specification
     134             :    */
     135           0 :   ULong_t GetSpecification()  { return fSpecification; }
     136             : 
     137             :   ///////////////////////////////////////////////////////////////////////////////////
     138             : 
     139             : private:
     140             : 
     141             :   /** copy constructor prohibited */
     142             :   AliHLTHOMERSourceDesc(const AliHLTHOMERSourceDesc&);
     143             :   
     144             :   /** assignment operator prohibited */
     145             :   AliHLTHOMERSourceDesc& operator=(const AliHLTHOMERSourceDesc&);
     146             : 
     147             :   /*
     148             :    * ---------------------------------------------------------------------------------
     149             :    *                            Members - private
     150             :    * ---------------------------------------------------------------------------------
     151             :    */
     152             : 
     153             :   /** is selected to read out */
     154             :   Bool_t fSelected;             // see above
     155             : 
     156             :   /** Name of Source */
     157             :   TString fSourceName;          // see above
     158             : 
     159             :   // -- Service Specifications --
     160             :   // ----------------------------
     161             : 
     162             :   /** Name of HOMER Node */
     163             :   TString fHostname;            // see above
     164             : 
     165             :   /** Name of HOMER port */
     166             :   Int_t fPort;                  // see above
     167             : 
     168             :   // -- Data Specifications --
     169             :   // -------------------------
     170             : 
     171             :   /** HLT DataType */
     172             :   TString fDataType;            // see above
     173             : 
     174             :   /** Detector Name, e.g. PHOS 
     175             :    *  corresponds to HLT origin
     176             :    */
     177             :   TString fDetector;            // see above
     178             : 
     179             :   /** HLT Specification */
     180             :   ULong_t fSpecification;       // see above
     181             : 
     182             :   /** SubDetector Name e.g. MODULE */
     183             :   Int_t   fSubDetector;         // see above
     184             : 
     185             :   /** SubSubDetector Name e.g. PARTITION */
     186             :   Int_t   fSubSubDetector;      // see above
     187             : 
     188         126 :   ClassDef( AliHLTHOMERSourceDesc, 0 )
     189             : };
     190             : 
     191             : #endif

Generated by: LCOV version 1.11