]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/AliHLTMUONConstants.h
- synchronized the overlay macro to the changes of the drawing one
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONConstants.h
index 5d38a182a9ade9e47dcef05b8b6a347469f2f7ba..4b3163bf8cf0c8eb586970048cd4fdfcbb6f516a 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/* $Id$ */
+// $Id$
 
 /**
  * @file   AliHLTMUONConstants.h
  * @author Indranil Das <indra.das@saha.ac.in>,
  *         Artur Szostak <artursz@iafrica.com>
- * @date   
+ * @date   17 May 2007
  * @brief  Class containing various dimuon HLT constants used in the system.
  */
 
+#include "TObject.h"
+
 // Forward declare structures.
 extern "C" {
 struct AliHLTComponentDataType;
 struct AliHLTMUONTriggerRecordStruct;
 struct AliHLTMUONTrigRecInfoStruct;
-struct AliHLTMUONTriggerChannelStruct;
 struct AliHLTMUONRecHitStruct;
 struct AliHLTMUONChannelStruct;
 struct AliHLTMUONClusterStruct;
 struct AliHLTMUONMansoTrackStruct;
 struct AliHLTMUONMansoRoIStruct;
 struct AliHLTMUONMansoCandidateStruct;
+struct AliHLTMUONTrackStruct;
 struct AliHLTMUONTrackDecisionStruct;
 struct AliHLTMUONPairDecisionStruct;
 } // extern "C"
@@ -62,11 +64,6 @@ public:
                return fgkNilTrigRecInfoStruct;
        }
 
-       static const AliHLTMUONTriggerChannelStruct& NilTriggerChannelStruct()
-       {
-               return fgkNilTriggerChannelStruct;
-       }
-
        static const AliHLTMUONRecHitStruct& NilRecHitStruct()
        {
                return fgkNilRecHitStruct;
@@ -97,6 +94,11 @@ public:
                return fgkNilMansoCandidateStruct;
        }
 
+       static const AliHLTMUONTrackStruct& NilTrackStruct()
+       {
+               return fgkNilTrackStruct;
+       }
+
        static const AliHLTMUONTrackDecisionStruct& NilTrackDecisionStruct()
        {
                return fgkNilTrackDecisionStruct;
@@ -107,14 +109,14 @@ public:
                return fgkNilPairDecisionStruct;
        }
 
-       static const AliHLTComponentDataType& TriggerDDLRawDataType()
-       {
-               return fgkTriggerDDLRawDataType;
-       }
-
-       static const AliHLTComponentDataType& TrackingDDLRawDataType()
+       // Returns the raw data type for MUON DDLs. To figure out if the DDL format
+       // will be for a tracking DDL or trigger DDL one needs to also check the
+       // sepcification word of the input data block. If one of the first 20 least
+       // significant bits are set then it is a tracker DDL otherwise if it is
+       // the 21st or 22nd bit then it is from the muon trigger.
+       static const AliHLTComponentDataType& DDLRawDataType()
        {
-               return fgkTrackingDDLRawDataType;
+               return fgkDDLRawDataType;
        }
 
        static const AliHLTComponentDataType& TriggerRecordsBlockDataType()
@@ -127,11 +129,6 @@ public:
                return fgkTrigRecsDebugBlockDataType;
        }
 
-       static const AliHLTComponentDataType& TriggerChannelBlockDataType()
-       {
-               return fgkTriggerChannelBlockDataType;
-       }
-
        static const AliHLTComponentDataType& RecHitsBlockDataType()
        {
                return fgkRecHitsBlockDataType;
@@ -157,6 +154,11 @@ public:
                return fgkMansoCandidatesBlockDataType;
        }
 
+       static const AliHLTComponentDataType& TracksBlockDataType()
+       {
+               return fgkTracksBlockDataType;
+       }
+
        static const AliHLTComponentDataType& SinglesDecisionBlockDataType()
        {
                return fgkSinglesDecisionBlockDataType;
@@ -166,6 +168,26 @@ public:
        {
                return fgkPairsDecisionBlockDataType;
        }
+
+       static const AliHLTComponentDataType& RootifiedEventDataType()
+       {
+               return fgkRootifiedEventDataType;
+       }
+
+       static const AliHLTComponentDataType& ESDDataType()
+       {
+               return fgkESDDataType;
+       }
+
+       static const AliHLTComponentDataType& ClusterStoreDataType()
+       {
+               return fgkClusterStoreDataType;
+       }
+
+       static const AliHLTComponentDataType& HistogramDataType()
+       {
+               return fgkHistogramDataType;
+       }
        
        static const char* RecHitsSourceId()
        {
@@ -177,9 +199,14 @@ public:
                return fgkTriggerRecordsSourceId;
        }
        
-       static const char* MansoTracksSourceId()
+       static const char* TracksSourceId()
        {
-               return fgkMansoTracksSourceId;
+               return fgkTracksSourceId;
+       }
+       
+       static const char* DigitPublisherId()
+       {
+               return fgkDigitPublisherId;
        }
        
        static const char* TriggerReconstructorId()
@@ -197,54 +224,147 @@ public:
                return fgkMansoTrackerFSMId;
        }
        
+       static const char* FullTrackerId()
+       {
+               return fgkFullTrackerId;
+       }
+       
        static const char* DecisionComponentId()
        {
                return fgkDecisionComponentId;
        }
+       
+       static const char* ESDMakerId()
+       {
+               return fgkESDMakerId;
+       }
+       
+       static const char* RootifierComponentId()
+       {
+               return fgkRootifierComponentId;
+       }
+       
+       static const char* EmptyEventFilterComponentId()
+       {
+               return fgkEmptyEventFilterComponentId;
+       }
+       
+       static const char* DataCheckerComponentId()
+       {
+               return fgkDataCheckerComponentId;
+       }
+       
+       static const char* ClusterFinderId()
+       {
+               return fgkClusterFinderId;
+       }
+       
+       static const char* RawDataHistogrammerId()
+       {
+               return fgkRawDataHistogrammerId;
+       }
+
+       static const char* ClusterHistogrammerId()
+       {
+               return fgkClusterHistogrammerId;
+       }
+       
+       static const char* TriggerReconstructorCDBPath()
+       {
+               return fgkTriggerReconstructorCDBPath;
+       }
+       
+       static const char* HitReconstructorCDBPath()
+       {
+               return fgkHitReconstructorCDBPath;
+       }
+       
+       static const char* MansoTrackerFSMCDBPath()
+       {
+               return fgkMansoTrackerFSMCDBPath;
+       }
+       
+       static const char* DecisionComponentCDBPath()
+       {
+               return fgkDecisionComponentCDBPath;
+       }
+       
+       static const char* FieldIntegralsCDBPath()
+       {
+               return fgkFieldIntegralsCDBPath;
+       }
+       
+       /// Returns the typical X (non-bending plane) resolution of the hit reconstruction (units = cm).
+       static double DefaultNonBendingReso() { return 0.144; }
+       
+       /// Returns the typical Y (bending plane) resolution of the hit reconstruction (units = cm).
+       static double DefaultBendingReso() { return 0.01; }
 
 private:
 
        // Should never have to create, destroy or copy this object.
-       AliHLTMUONConstants();
+       AliHLTMUONConstants() {}
        AliHLTMUONConstants(const AliHLTMUONConstants& obj);
-       ~AliHLTMUONConstants();
+       virtual ~AliHLTMUONConstants() {}
        AliHLTMUONConstants& operator = (const AliHLTMUONConstants& obj);
        
+       
        // The following are null/nil structures that can also be used as sentinels:
        static const AliHLTMUONTriggerRecordStruct fgkNilTriggerRecordStruct; // Nil trigger record.
        static const AliHLTMUONTrigRecInfoStruct fgkNilTrigRecInfoStruct; // Nil trigger record debug information.
-       static const AliHLTMUONTriggerChannelStruct fgkNilTriggerChannelStruct; // Nil trigger chamber channel.
        static const AliHLTMUONRecHitStruct fgkNilRecHitStruct; // Nil reconstructed hit.
        static const AliHLTMUONChannelStruct fgkNilChannelStruct; // Nil tracking chamber channel.
        static const AliHLTMUONClusterStruct fgkNilClusterStruct; // Nil tracking chamber cluster.
        static const AliHLTMUONMansoTrackStruct fgkNilMansoTrackStruct; // Nil manso track.
        static const AliHLTMUONMansoRoIStruct fgkNilMansoRoIStruct; // Nil manso region of interest.
        static const AliHLTMUONMansoCandidateStruct fgkNilMansoCandidateStruct; // Nil manso candidate track.
+       static const AliHLTMUONTrackStruct fgkNilTrackStruct; // Nil track structure.
        static const AliHLTMUONTrackDecisionStruct fgkNilTrackDecisionStruct; // Nil decision for single track.
        static const AliHLTMUONPairDecisionStruct fgkNilPairDecisionStruct; // Nil decision for track pair.
 
        // HLT component input and output data block types:
-       static const AliHLTComponentDataType fgkTriggerDDLRawDataType; // DDL packed data block type from dimuon trigger stations.
-       static const AliHLTComponentDataType fgkTrackingDDLRawDataType; // DDL packed data block type from dimuon tracking stations.
+       static const AliHLTComponentDataType fgkDDLRawDataType; // DDL packed data block type from dimuon spectrometer.
        static const AliHLTComponentDataType fgkTriggerRecordsBlockDataType; // Trigger records block type generated by trigger DDL translation components.
        static const AliHLTComponentDataType fgkTrigRecsDebugBlockDataType; // Debugging information block type generated by trigger DDL translation components.
-       static const AliHLTComponentDataType fgkTriggerChannelBlockDataType; // Debugging information about the channels from the hardware trigger.
        static const AliHLTComponentDataType fgkRecHitsBlockDataType; // Reconstructed hits block type generated by hit reconstruction components.
        static const AliHLTComponentDataType fgkClusterBlockDataType; // Debugging information block type for reconstructed hit clusters.
        static const AliHLTComponentDataType fgkChannelBlockDataType; // Debugging information block type for channels corresponding to clusters.
        static const AliHLTComponentDataType fgkMansoTracksBlockDataType; // Manso tracks block type generated by Manso tracker components.
        static const AliHLTComponentDataType fgkMansoCandidatesBlockDataType; // Debugging information about a track candidate generated by the Manso algorithm.
+       static const AliHLTComponentDataType fgkTracksBlockDataType; // Full tracks block type generated by the tracker components.
        static const AliHLTComponentDataType fgkSinglesDecisionBlockDataType; // Trigger decision block type for single track decisions.
        static const AliHLTComponentDataType fgkPairsDecisionBlockDataType; // Trigger decision block type for pairs of particles.
+       static const AliHLTComponentDataType fgkRootifiedEventDataType; // An AliHLTMUONEvent ROOT object.
+       static const AliHLTComponentDataType fgkESDDataType; // The ESD data type with origin equal to MUON.
+       static const AliHLTComponentDataType fgkClusterStoreDataType; // Offline algorithm cluster store object.
+       static const AliHLTComponentDataType fgkHistogramDataType; // TH1/2/3 histogram type.
        
        // Component ID names:
        static const char* fgkRecHitsSourceId; // Name of source component for reconstructed hits for debugging.
        static const char* fgkTriggerRecordsSourceId; // Name of source component for trigger records for debugging.
-       static const char* fgkMansoTracksSourceId; // Name of source component for Manso tracks for debugging.
+       static const char* fgkTracksSourceId; // Name of source component for tracks for debugging.
+       static const char* fgkDigitPublisherId; // Component name for publishing DDL streams from digits.
        static const char* fgkTriggerReconstructorId; // Trigger record reconstructor component name.
        static const char* fgkHitReconstructorId; // Centre of gravity cluster finder component name.
        static const char* fgkMansoTrackerFSMId; // Manso tracker FSM implementation component name.
+       static const char* fgkFullTrackerId; // Full tracker implementation component name.
        static const char* fgkDecisionComponentId; // dHLT decision component name.
+       static const char* fgkESDMakerId; // Name of ESD maker component which converts dHLT data to AliESDEvent classes.
+       static const char* fgkRootifierComponentId; // The name of the event filter debugging component.
+       static const char* fgkEmptyEventFilterComponentId; // The name of the event filter debugging component.
+       static const char* fgkDataCheckerComponentId; // Name of data checking component for debugging.
+       static const char* fgkClusterFinderId; // Name of cluster finder implementing offline algorithms.
+       static const char* fgkRawDataHistogrammerId; // Raw data histogrammer component name.
+       static const char* fgkClusterHistogrammerId; // Cluster data histogrammer component name.
+       
+       // CDB path entries to configuration information.
+       static const char* fgkTriggerReconstructorCDBPath; // Path to CDB entry for the trigger reconstruction component.
+       static const char* fgkHitReconstructorCDBPath; // Path to CDB entry for the hit reconstruction component.
+       static const char* fgkMansoTrackerFSMCDBPath; // Path to CDB entry for the Manso FSM tracker component.
+       static const char* fgkDecisionComponentCDBPath; // Path to CDB entry for trigger decision component.
+       static const char* fgkFieldIntegralsCDBPath; // Path to CDB entry for magnetic field integrals.
+       
+       ClassDef(AliHLTMUONConstants, 0);  // Interface class to dHLT constants.
 };
 
 #endif // ALIHLTMUONCONSTANTS_H