#ifndef ALIHLTMUONCONSTANTS_H #define ALIHLTMUONCONSTANTS_H /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ /** * @file AliHLTMUONConstants.h * @author Indranil Das , * Artur Szostak * @date * @brief Class containing various dimuon HLT constants used in the system. */ #include "AliHLTMUONTriggerRecordsBlockStruct.h" #include "AliHLTMUONRecHitsBlockStruct.h" #include "AliHLTMUONClustersBlockStruct.h" #include "AliHLTMUONChannelsBlockStruct.h" /** * AliHLTMUONConstants contains a list of global dimuon HLT specific constants * and constant structures used in the system. * Static methods are provided to access these values. */ class AliHLTMUONConstants { public: static const AliHLTMUONRecHitStruct& NilRecHitStruct() { return fgkNilRecHitStruct; } static const AliHLTMUONChannelStruct& NilChannelStruct() { return fgkNilChannelStruct; } static const AliHLTMUONClusterStruct& NilClusterStruct() { return fgkNilClusterStruct; } static const AliHLTComponentDataType& TriggerDDLStreamDataType() { return fgkTriggerDDLStreamDataType; } static const AliHLTComponentDataType& TrackingDDLStreamDataType() { return fgkTrackingDDLStreamDataType; } static const AliHLTComponentDataType& TriggerRecordsBlockDataType() { return fgkTriggerRecordsBlockDataType; } static const AliHLTComponentDataType& TrigRecsDebugBlockDataType() { return fgkTrigRecsDebugBlockDataType; } static const AliHLTComponentDataType& TriggerChannelBlockDataType() { return fgkTriggerChannelBlockDataType; } static const AliHLTComponentDataType& RecHitsBlockDataType() { return fgkRecHitsBlockDataType; } static const AliHLTComponentDataType& ClusterBlockDataType() { return fgkClusterBlockDataType; } static const AliHLTComponentDataType& ChannelBlockDataType() { return fgkChannelBlockDataType; } static const AliHLTComponentDataType& MansoTracksBlockDataType() { return fgkMansoTracksBlockDataType; } static const AliHLTComponentDataType& MansoRoIBlockDataType() { return fgkMansoRoIBlockDataType; } static const AliHLTComponentDataType& MansoTrialsBlockDataType() { return fgkMansoTrialsBlockDataType; } static const AliHLTComponentDataType& DecisionBlockDataType() { return fgkDecisionBlockDataType; } static const AliHLTComponentDataType& DecisionDebugBlockDataType() { return fgkDecisionDebugBlockDataType; } private: // Should never have to create or destroy this object. AliHLTMUONConstants(); ~AliHLTMUONConstants(); // Sentinel structure for a reconstructed hit. static const AliHLTMUONRecHitStruct fgkNilRecHitStruct; // Sentinel structure for channel information. static const AliHLTMUONChannelStruct fgkNilChannelStruct; // Sentinel structure for cluster information. static const AliHLTMUONClusterStruct fgkNilClusterStruct; // DDL packed data block type from dimuon trigger stations. static const AliHLTComponentDataType fgkTriggerDDLStreamDataType; // DDL packed data block type from dimuon tracking stations. static const AliHLTComponentDataType fgkTrackingDDLStreamDataType; // Trigger records block type generated by trigger DDL translation components. static const AliHLTComponentDataType fgkTriggerRecordsBlockDataType; // Debugging information block type generated by trigger DDL translation components. static const AliHLTComponentDataType fgkTrigRecsDebugBlockDataType; // Debugging information about the channels from the hardware trigger. static const AliHLTComponentDataType fgkTriggerChannelBlockDataType; // Reconstructed hits block type generated by hit reconstruction components. static const AliHLTComponentDataType fgkRecHitsBlockDataType; // Debugging information block type for reconstructed hit clusters. static const AliHLTComponentDataType fgkClusterBlockDataType; // Debugging information block type for channels corresponding to clusters. static const AliHLTComponentDataType fgkChannelBlockDataType; // Manso tracks block type generated by Manso tracker components. static const AliHLTComponentDataType fgkMansoTracksBlockDataType; // Debugging information block type containing region of interests // considered by the Manso tracker components. static const AliHLTComponentDataType fgkMansoRoIBlockDataType; // Debugging information block type containing the trial tracks considered // by the Manso tracker components. static const AliHLTComponentDataType fgkMansoTrialsBlockDataType; // Trigger decision block type generated by dimuon HLT trigger components. static const AliHLTComponentDataType fgkDecisionBlockDataType; // Debugging information block type generated by dimuon HLT trigger components. static const AliHLTComponentDataType fgkDecisionDebugBlockDataType; }; #endif // ALIHLTMUONCONSTANTS_H