2 /**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
6 * Primary Authors: Albin Gaignette *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
17 #ifndef ALIHLTCALOHISTOPRODUCER_H
18 #define ALIHLTCALOHISTOPRODUCER_H
21 * @file AliHLTCaloHistoProducer
22 * @author Svein Lindal slindal@fys.uio.no
24 * @brief Base class for calo physics histogram producers
27 // see header file for class documentation
29 // refer to README to build package
31 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
36 #include "AliHLTLogging.h"
39 class AliHLTCaloClusterReader;
40 class AliHLTCaloClusterDataStruct;
44 * @class AliHLTCaloHistoProducer
46 * Base class for calo physics histogram producers
49 * @ingroup alihlt_phos
54 class AliHLTCaloHistoProducer : public TObject, public AliHLTLogging {
59 AliHLTCaloHistoProducer();
62 virtual ~AliHLTCaloHistoProducer();
64 /** Get a pointer to the TObjArray of histograms */
65 TObjArray *GetHistograms();
67 //** Loops of the calo clusters and fills histos
68 virtual Int_t FillHistograms(Int_t nc, TRefArray * clusterArray ) = 0;
69 virtual Int_t FillHistograms(Int_t nc, vector<AliHLTCaloClusterDataStruct*> &cVec) = 0;
72 /** Cluster reader class */
73 AliHLTCaloClusterReader * fClusterReader;
75 /** Pointer to the array of histograms */
76 TObjArray *fHistArray; //!transient
81 /** Copy constructor */
82 AliHLTCaloHistoProducer(const AliHLTCaloHistoProducer &);
84 /** Assignment operator */
85 AliHLTCaloHistoProducer & operator = (const AliHLTCaloHistoProducer &);
87 ClassDef(AliHLTCaloHistoProducer, 0);