]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/EMCAL/AliHLTEMCALAgent.h
create fill histograms with DCA cut when not applied before in the reader
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALAgent.h
index d38054197b02df46d6feacbdd22472306d34d712..6b0fba892d59ae029c47153a2950bb1960726b69 100644 (file)
 
 #include "AliHLTModuleAgent.h"
 #include "AliHLTOUTHandlerEquId.h"
+#include <map>
 
 class AliHLTOUTHandlerChain;
+class AliHLTEMCALMapper;
 
 /**
  * @class AliHLTEMCALAgent
@@ -102,7 +104,7 @@ class AliHLTEMCALAgent : public AliHLTModuleAgent {
   class AliHLTEMCALRawDataHandler : public AliHLTOUTHandlerEquId {
   public:
     /** constructor */
-    AliHLTEMCALRawDataHandler();
+    AliHLTEMCALRawDataHandler(AliHLTEMCALAgent* pAgent=NULL);
     /** destructor */
     ~AliHLTEMCALRawDataHandler();
 
@@ -115,6 +117,12 @@ class AliHLTEMCALAgent : public AliHLTModuleAgent {
     int ProcessData(AliHLTOUT* pData);
 
   private:
+    /// copy constructor prohibited
+    AliHLTEMCALRawDataHandler(const AliHLTEMCALRawDataHandler&);
+    /// assignment operator prohibited
+    AliHLTEMCALRawDataHandler& operator=(const AliHLTEMCALRawDataHandler&);
+
+    AliHLTEMCALAgent* fpAgent; //! agent instance to retrieve mapper
 
   };
 
@@ -126,10 +134,16 @@ class AliHLTEMCALAgent : public AliHLTModuleAgent {
   /** assignment operator prohibited */
   AliHLTEMCALAgent& operator=(const AliHLTEMCALAgent&);
 
+  /// get mapper for a specification
+  AliHLTEMCALMapper* GetMapper(AliHLTUInt32_t spec) const;
+
   /** handler for EMCAL raw data in the HLTOUT stream */
   AliHLTEMCALRawDataHandler* fRawDataHandler; //!transient
 
-  ClassDef(AliHLTEMCALAgent, 1);
+  // mappers for different specifications
+  std::map<AliHLTUInt32_t, AliHLTEMCALMapper*> fMappers; //! transient
+
+  ClassDef(AliHLTEMCALAgent, 0);
 };
 
 #endif