]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliClusterContainer.h
e6d68ccbea003fc80db407538d585efcc1235dce
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliClusterContainer.h
1 #ifndef AliClusterContainer_H
2 #define AliClusterContainer_H
3
4 //
5 // container with name, TClonesArray and cuts for particles
6 //
7
8 class TLorentzVector;
9
10 class AliVEvent;
11 class AliVCluster;
12
13 #include "AliEmcalContainer.h"
14
15 class AliClusterContainer : public AliEmcalContainer {
16  public:
17   AliClusterContainer();
18   AliClusterContainer(const char *name); 
19   virtual ~AliClusterContainer(){;}
20
21   void SetClusPtCut(Double_t cut)                  { fClusPtCut      = cut ; }
22   void SetClusTimeCut(Double_t min, Double_t max)  { fClusTimeCutLow = min ; fClusTimeCutUp = max ; }
23   void SetClusterBitMap(UInt_t m)                  { fClusterBitMap     = m ; }
24   void SetMCClusterBitMap(UInt_t m)                { fMCClusterBitMap   = m ; }
25   void SetMinMCLabel(Int_t s)                      { fMinMCLabel        = s ; }
26
27   AliVCluster                *GetLeadingCluster(const char* opt="")       ;
28   AliVCluster                *GetCluster(Int_t i)                    const;
29   AliVCluster                *GetAcceptCluster(Int_t i)              const;
30   AliVCluster                *GetNextAcceptCluster(Int_t i=-1)            ;
31   void                        GetMomentum(TLorentzVector &mom, Int_t i) const;
32   Bool_t                      AcceptCluster(AliVCluster         *vp) const;
33   Int_t                       GetNClusters()                         const   {return GetNEntries();}
34   void                        SetClassName(const char *clname);
35
36  protected:
37   Double_t                    fClusPtCut;                  // cut on cluster pt
38   Double_t                    fClusTimeCutLow;             // low time cut for clusters
39   Double_t                    fClusTimeCutUp;              // up time cut for clusters
40   UInt_t                      fClusterBitMap;              // bit map of accepted clusters (non MC)
41   UInt_t                      fMCClusterBitMap;            // bit map of accepted MC clusters
42   Int_t                       fMinMCLabel;                 // minimum MC label value for the tracks/clusters being considered MC particles
43
44  private:
45   AliClusterContainer(const AliClusterContainer& obj); // copy constructor
46   AliClusterContainer& operator=(const AliClusterContainer& other); // assignment
47
48   ClassDef(AliClusterContainer,1);
49
50 };
51
52 #endif
53