ROOT logo
#ifndef AliClusterContainer_H
#define AliClusterContainer_H

// $Id$

class TLorentzVector;

class AliVEvent;
class AliVCluster;

#include "AliEmcalContainer.h"

class AliClusterContainer : public AliEmcalContainer {
 public:
  AliClusterContainer();
  AliClusterContainer(const char *name); 
  virtual ~AliClusterContainer(){;}

  Bool_t                      AcceptCluster(AliVCluster         *vp)      ;
  AliVCluster                *GetAcceptCluster(Int_t i)                   ;
  AliVCluster                *GetAcceptClusterWithLabel(Int_t lab)        ;
  AliVCluster                *GetCluster(Int_t i)                    const;
  AliVCluster                *GetClusterWithLabel(Int_t lab)         const;
  AliVCluster                *GetLeadingCluster(const char* opt="")       ;
  void                        GetMomentum(TLorentzVector &mom, Int_t i) const;
  AliVCluster                *GetNextAcceptCluster(Int_t i=-1)            ;
  AliVCluster                *GetNextCluster(Int_t i=-1)                  ;
  Int_t                       GetNClusters()                         const { return GetNEntries();   }
  Int_t                       GetNAcceptedClusters()                      ;
  void                        SetClassName(const char *clname);
  void                        SetClusECut(Double_t cut)                    { fClusECut      = cut ; }
  void                        SetClusPtCut(Double_t cut)                   { fClusPtCut      = cut ; }
  void                        SetClusTimeCut(Double_t min, Double_t max)   { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
  void                        SetClusterBitMap(UInt_t m)                   { fClusterBitMap     = m ; }
  void                        SetMCClusterBitMap(UInt_t m)                 { fMCClusterBitMap   = m ; }
  void                        SetMinMCLabel(Int_t s)                       { fMinMCLabel        = s ; }

 protected:
  Double_t                    fClusPtCut;                  // cut on cluster pt
  Double_t                    fClusECut;                   // cut on cluster E
  Double_t                    fClusTimeCutLow;             // low time cut for clusters
  Double_t                    fClusTimeCutUp;              // up time cut for clusters
  UInt_t                      fClusterBitMap;              // bit map of accepted clusters (non MC)
  UInt_t                      fMCClusterBitMap;            // bit map of accepted MC clusters
  Int_t                       fMinMCLabel;                 // minimum MC label value for the tracks/clusters being considered MC particles

 private:
  AliClusterContainer(const AliClusterContainer& obj); // copy constructor
  AliClusterContainer& operator=(const AliClusterContainer& other); // assignment

  ClassDef(AliClusterContainer,2);
};

#endif

 AliClusterContainer.h:1
 AliClusterContainer.h:2
 AliClusterContainer.h:3
 AliClusterContainer.h:4
 AliClusterContainer.h:5
 AliClusterContainer.h:6
 AliClusterContainer.h:7
 AliClusterContainer.h:8
 AliClusterContainer.h:9
 AliClusterContainer.h:10
 AliClusterContainer.h:11
 AliClusterContainer.h:12
 AliClusterContainer.h:13
 AliClusterContainer.h:14
 AliClusterContainer.h:15
 AliClusterContainer.h:16
 AliClusterContainer.h:17
 AliClusterContainer.h:18
 AliClusterContainer.h:19
 AliClusterContainer.h:20
 AliClusterContainer.h:21
 AliClusterContainer.h:22
 AliClusterContainer.h:23
 AliClusterContainer.h:24
 AliClusterContainer.h:25
 AliClusterContainer.h:26
 AliClusterContainer.h:27
 AliClusterContainer.h:28
 AliClusterContainer.h:29
 AliClusterContainer.h:30
 AliClusterContainer.h:31
 AliClusterContainer.h:32
 AliClusterContainer.h:33
 AliClusterContainer.h:34
 AliClusterContainer.h:35
 AliClusterContainer.h:36
 AliClusterContainer.h:37
 AliClusterContainer.h:38
 AliClusterContainer.h:39
 AliClusterContainer.h:40
 AliClusterContainer.h:41
 AliClusterContainer.h:42
 AliClusterContainer.h:43
 AliClusterContainer.h:44
 AliClusterContainer.h:45
 AliClusterContainer.h:46
 AliClusterContainer.h:47
 AliClusterContainer.h:48
 AliClusterContainer.h:49
 AliClusterContainer.h:50
 AliClusterContainer.h:51
 AliClusterContainer.h:52
 AliClusterContainer.h:53
 AliClusterContainer.h:54
 AliClusterContainer.h:55