LCOV - code coverage report
Current view: top level - HLT/MUON - AliHLTMUONConstants.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : #ifndef ALIHLTMUONCONSTANTS_H
       2             : #define ALIHLTMUONCONSTANTS_H
       3             : /**************************************************************************
       4             :  * This file is property of and copyright by the ALICE HLT Project        * 
       5             :  * All rights reserved.                                                   *
       6             :  *                                                                        *
       7             :  * Primary Authors:                                                       *
       8             :  *   Indranil Das <indra.das@saha.ac.in>                                  *
       9             :  *   Artur Szostak <artursz@iafrica.com>                                  *
      10             :  *                                                                        *
      11             :  * Permission to use, copy, modify and distribute this software and its   *
      12             :  * documentation strictly for non-commercial purposes is hereby granted   *
      13             :  * without fee, provided that the above copyright notice appears in all   *
      14             :  * copies and that both the copyright notice and this permission notice   *
      15             :  * appear in the supporting documentation. The authors make no claims     *
      16             :  * about the suitability of this software for any purpose. It is          * 
      17             :  * provided "as is" without express or implied warranty.                  *
      18             :  **************************************************************************/
      19             : 
      20             : // $Id$
      21             : 
      22             : /**
      23             :  * @file   AliHLTMUONConstants.h
      24             :  * @author Indranil Das <indra.das@saha.ac.in>,
      25             :  *         Artur Szostak <artursz@iafrica.com>
      26             :  * @date   17 May 2007
      27             :  * @brief  Class containing various dimuon HLT constants used in the system.
      28             :  */
      29             : 
      30             : #include "TObject.h"
      31             : 
      32             : // Forward declare structures.
      33             : extern "C" {
      34             : struct AliHLTComponentDataType;
      35             : struct AliHLTMUONTriggerRecordStruct;
      36             : struct AliHLTMUONTrigRecInfoStruct;
      37             : struct AliHLTMUONRecHitStruct;
      38             : struct AliHLTMUONChannelStruct;
      39             : struct AliHLTMUONClusterStruct;
      40             : struct AliHLTMUONMansoTrackStruct;
      41             : struct AliHLTMUONMansoRoIStruct;
      42             : struct AliHLTMUONMansoCandidateStruct;
      43             : struct AliHLTMUONTrackStruct;
      44             : struct AliHLTMUONTrackDecisionStruct;
      45             : struct AliHLTMUONPairDecisionStruct;
      46             : } // extern "C"
      47             : 
      48             : /**
      49             :  * AliHLTMUONConstants contains a list of global dimuon HLT specific constants
      50             :  * and constant structures used in the system.
      51             :  * Static methods are provided to access these values.
      52             :  */
      53             : class AliHLTMUONConstants
      54             : {
      55             : public:
      56             : 
      57             :         // The following methods return null/nil structures that can also be used as sentinels:
      58             :         static const AliHLTMUONTriggerRecordStruct& NilTriggerRecordStruct();
      59             :         static const AliHLTMUONTrigRecInfoStruct& NilTrigRecInfoStruct();
      60             :         static const AliHLTMUONRecHitStruct& NilRecHitStruct();
      61             :         static const AliHLTMUONChannelStruct& NilChannelStruct();
      62             :         static const AliHLTMUONClusterStruct& NilClusterStruct();
      63             :         static const AliHLTMUONMansoTrackStruct& NilMansoTrackStruct();
      64             :         static const AliHLTMUONMansoRoIStruct& NilMansoRoIStruct();
      65             :         static const AliHLTMUONMansoCandidateStruct& NilMansoCandidateStruct();
      66             :         static const AliHLTMUONTrackStruct& NilTrackStruct();
      67             :         static const AliHLTMUONTrackDecisionStruct& NilTrackDecisionStruct();
      68             :         static const AliHLTMUONPairDecisionStruct& NilPairDecisionStruct();
      69             : 
      70             :         // Methods returning HLT component input and output data block types:
      71             :         
      72             :         /**
      73             :          * Returns the raw data type for MUON DDLs. To figure out if the DDL format
      74             :          * will be for a tracking DDL or trigger DDL one needs to also check the
      75             :          * sepcification word of the input data block. If one of the first 20 least
      76             :          * significant bits are set then it is a tracker DDL otherwise if it is
      77             :          * the 21st or 22nd bit then it is from the muon trigger.
      78             :          */
      79             :         static const AliHLTComponentDataType& DDLRawDataType();
      80             : 
      81             :         static const AliHLTComponentDataType& TriggerRecordsBlockDataType();
      82             :         static const AliHLTComponentDataType& TrigRecsDebugBlockDataType();
      83             :         static const AliHLTComponentDataType& RecHitsBlockDataType();
      84             :         static const AliHLTComponentDataType& ClusterBlockDataType();
      85             :         static const AliHLTComponentDataType& ChannelBlockDataType();
      86             :         static const AliHLTComponentDataType& MansoTracksBlockDataType();
      87             :         static const AliHLTComponentDataType& MansoCandidatesBlockDataType();
      88             :         static const AliHLTComponentDataType& TracksBlockDataType();
      89             :         static const AliHLTComponentDataType& SinglesDecisionBlockDataType();
      90             :         static const AliHLTComponentDataType& PairsDecisionBlockDataType();
      91             :         static const AliHLTComponentDataType& RootifiedEventDataType();
      92             :         static const AliHLTComponentDataType& ESDDataType();
      93             :         static const AliHLTComponentDataType& ClusterStoreDataType();
      94             :         static const AliHLTComponentDataType& HistogramDataType();
      95             :         
      96             :         
      97             :         // Methods to return component ID names:
      98             :         static const char* RecHitsSourceId();
      99             :         static const char* TriggerRecordsSourceId();
     100             :         static const char* TracksSourceId();
     101             :         static const char* DigitPublisherId();
     102             :         static const char* TriggerReconstructorId();
     103             :         static const char* HitReconstructorId();
     104             :         static const char* MansoTrackerFSMId();
     105             :         static const char* FullTrackerId();
     106             :         static const char* DecisionComponentId();
     107             :         static const char* ESDMakerId();
     108             :         static const char* RootifierComponentId();
     109             :         static const char* EmptyEventFilterComponentId();
     110             :         static const char* DataCheckerComponentId();
     111             :         static const char* ClusterFinderId();
     112             :         static const char* RawDataHistogrammerId();
     113             :         static const char* ClusterHistogrammerId();
     114             :         
     115             :         // Methods for returning the CDB path entries to configuration information:
     116             :         static const char* TriggerReconstructorCDBPath();
     117             :         static const char* HitReconstructorCDBPath();
     118             :         static const char* MansoTrackerFSMCDBPath();
     119             :         static const char* DecisionComponentCDBPath();
     120             :         static const char* FieldIntegralsCDBPath();
     121             :         
     122             :         /// Returns the typical X (non-bending plane) resolution of the hit reconstruction (units = cm).
     123             :         static double DefaultNonBendingReso();
     124             :         
     125             :         /// Returns the typical Y (bending plane) resolution of the hit reconstruction (units = cm).
     126             :         static double DefaultBendingReso();
     127             : 
     128             : private:
     129             : 
     130             :         // Should never have to create, destroy or copy this object.
     131             :         AliHLTMUONConstants() {}
     132             :         AliHLTMUONConstants(const AliHLTMUONConstants& obj);
     133           0 :         virtual ~AliHLTMUONConstants() {}
     134             :         AliHLTMUONConstants& operator = (const AliHLTMUONConstants& obj);
     135             :         
     136           6 :         ClassDef(AliHLTMUONConstants, 0);  // Interface class to dHLT constants.
     137             : };
     138             : 
     139             : #endif // ALIHLTMUONCONSTANTS_H

Generated by: LCOV version 1.11