ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Container for TRD thresholds stored in the OADB
//
#ifndef ALIHFEOADBTHRESHOLDSTRD_H
#define ALIHFEOADBTHRESHOLDSTRD_H

#ifndef ROOT_TNamed
#include <TNamed.h>
#endif

class TSortedList;

class AliHFEOADBThresholdsTRD : public TNamed{
  public:
    AliHFEOADBThresholdsTRD();
    AliHFEOADBThresholdsTRD(const char *name);
    virtual ~AliHFEOADBThresholdsTRD();
    virtual void Print(Option_t *) const;

    Bool_t GetThresholdParameters(Int_t ntracklets, Double_t efficiency, Double_t *params);
    void SetThresholdParameters(Int_t ntracklets, Double_t efficiency, Double_t *params);

  private:
    class AliHFEthresholdParamsTRD : public TObject{
      public:
        AliHFEthresholdParamsTRD();
        AliHFEthresholdParamsTRD(Int_t nTracklets, Double_t eff, Double_t *params = NULL);
        AliHFEthresholdParamsTRD(const AliHFEthresholdParamsTRD &ref);
        AliHFEthresholdParamsTRD &operator=(const AliHFEthresholdParamsTRD &ref);
        virtual ~AliHFEthresholdParamsTRD() {}
        
        Int_t GetNTracklets() const { return fNTracklets; }
        Double_t GetElectronEfficiency() const { return fEfficiency; }
        const Double_t *GetThresholdParams() const { return fParams; }

        virtual Bool_t IsSortable() const { return kTRUE; }
        virtual Int_t Compare(const TObject *ref) const;
        virtual Bool_t IsEqual(const TObject *ref) const;

      private:
        Int_t fNTracklets;      // Number of tracklets
        Double_t fEfficiency;   // Efficiency level applied
        Double_t fParams[4];    // Cut parameterization

        ClassDef(AliHFEthresholdParamsTRD, 1);
    };

    static const Double_t fgkVerySmall;   // Comparison of efficiency values

    AliHFEOADBThresholdsTRD(const AliHFEOADBThresholdsTRD &ref);
    AliHFEOADBThresholdsTRD &operator=(const AliHFEOADBThresholdsTRD &ref);
    
    TSortedList *fEntries; // Container for Thresholds

    ClassDef(AliHFEOADBThresholdsTRD, 1);
};
#endif

 AliHFEOADBThresholdsTRD.h:1
 AliHFEOADBThresholdsTRD.h:2
 AliHFEOADBThresholdsTRD.h:3
 AliHFEOADBThresholdsTRD.h:4
 AliHFEOADBThresholdsTRD.h:5
 AliHFEOADBThresholdsTRD.h:6
 AliHFEOADBThresholdsTRD.h:7
 AliHFEOADBThresholdsTRD.h:8
 AliHFEOADBThresholdsTRD.h:9
 AliHFEOADBThresholdsTRD.h:10
 AliHFEOADBThresholdsTRD.h:11
 AliHFEOADBThresholdsTRD.h:12
 AliHFEOADBThresholdsTRD.h:13
 AliHFEOADBThresholdsTRD.h:14
 AliHFEOADBThresholdsTRD.h:15
 AliHFEOADBThresholdsTRD.h:16
 AliHFEOADBThresholdsTRD.h:17
 AliHFEOADBThresholdsTRD.h:18
 AliHFEOADBThresholdsTRD.h:19
 AliHFEOADBThresholdsTRD.h:20
 AliHFEOADBThresholdsTRD.h:21
 AliHFEOADBThresholdsTRD.h:22
 AliHFEOADBThresholdsTRD.h:23
 AliHFEOADBThresholdsTRD.h:24
 AliHFEOADBThresholdsTRD.h:25
 AliHFEOADBThresholdsTRD.h:26
 AliHFEOADBThresholdsTRD.h:27
 AliHFEOADBThresholdsTRD.h:28
 AliHFEOADBThresholdsTRD.h:29
 AliHFEOADBThresholdsTRD.h:30
 AliHFEOADBThresholdsTRD.h:31
 AliHFEOADBThresholdsTRD.h:32
 AliHFEOADBThresholdsTRD.h:33
 AliHFEOADBThresholdsTRD.h:34
 AliHFEOADBThresholdsTRD.h:35
 AliHFEOADBThresholdsTRD.h:36
 AliHFEOADBThresholdsTRD.h:37
 AliHFEOADBThresholdsTRD.h:38
 AliHFEOADBThresholdsTRD.h:39
 AliHFEOADBThresholdsTRD.h:40
 AliHFEOADBThresholdsTRD.h:41
 AliHFEOADBThresholdsTRD.h:42
 AliHFEOADBThresholdsTRD.h:43
 AliHFEOADBThresholdsTRD.h:44
 AliHFEOADBThresholdsTRD.h:45
 AliHFEOADBThresholdsTRD.h:46
 AliHFEOADBThresholdsTRD.h:47
 AliHFEOADBThresholdsTRD.h:48
 AliHFEOADBThresholdsTRD.h:49
 AliHFEOADBThresholdsTRD.h:50
 AliHFEOADBThresholdsTRD.h:51
 AliHFEOADBThresholdsTRD.h:52
 AliHFEOADBThresholdsTRD.h:53
 AliHFEOADBThresholdsTRD.h:54
 AliHFEOADBThresholdsTRD.h:55
 AliHFEOADBThresholdsTRD.h:56
 AliHFEOADBThresholdsTRD.h:57
 AliHFEOADBThresholdsTRD.h:58
 AliHFEOADBThresholdsTRD.h:59
 AliHFEOADBThresholdsTRD.h:60
 AliHFEOADBThresholdsTRD.h:61
 AliHFEOADBThresholdsTRD.h:62
 AliHFEOADBThresholdsTRD.h:63
 AliHFEOADBThresholdsTRD.h:64
 AliHFEOADBThresholdsTRD.h:65
 AliHFEOADBThresholdsTRD.h:66
 AliHFEOADBThresholdsTRD.h:67
 AliHFEOADBThresholdsTRD.h:68
 AliHFEOADBThresholdsTRD.h:69
 AliHFEOADBThresholdsTRD.h:70
 AliHFEOADBThresholdsTRD.h:71
 AliHFEOADBThresholdsTRD.h:72