ROOT logo
#ifndef AliITSTriggerAlgorithmConditions_H
#define AliITSTriggerAlgorithmConditions_H

////////////////////////////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                                         //
//                                                                                //
// Class for storing conditions data from Pixel Trigger (PIT) algorithms.         //
// This holds a sub set of the conditions data needed.                            //
// It is used by AliITSTriggerConditions, which holds all the information.        //
// AliITSTriggerConditions contains a TObjArray of this type.                     //
//                                                                                //
////////////////////////////////////////////////////////////////////////////////////

#include <TObject.h>
#include <TString.h>
#include <TObjArray.h>
#include <TArrayI.h>

class AliITSTriggerAlgorithmConditions : public TObject {

 public:
  AliITSTriggerAlgorithmConditions();
  AliITSTriggerAlgorithmConditions(UShort_t id, const Char_t* label, const Char_t* descr);
  AliITSTriggerAlgorithmConditions(const AliITSTriggerAlgorithmConditions& cond);
  virtual ~AliITSTriggerAlgorithmConditions();
  AliITSTriggerAlgorithmConditions& operator=(const AliITSTriggerAlgorithmConditions& cond);

  virtual UShort_t      GetID() const {return fId;}
  virtual const Char_t* GetLabel() const {return fLabel.Data();}
  virtual const Char_t* GetDescription() const {return fDescription.Data();}

  virtual void          SetID(UShort_t id) {fId=id;}
  virtual void          SetLabel(const Char_t* label) {fLabel=label;}
  virtual void          SetDescription(const Char_t* descr) {fDescription=descr;}

  virtual void          ClearParams();

  virtual void          AddParam(const Char_t* name, Int_t value);

  virtual UShort_t      GetNumParam() const {return fNumParam;}
  virtual const Char_t* GetParamNameI(UShort_t index) const;
  virtual Int_t         GetParamValueI(UShort_t index) const;
  virtual Int_t         GetParamValueN(const Char_t* name) const;


 protected:
  UShort_t  fId;          // ID of output (1-10 for real system)
  TString   fLabel;       // label of output (ex: OSH1)
  TString   fDescription; // description of output
  UShort_t  fNumParam;    // Number of parameters used
  TObjArray fParamNames;  // list of parameter names (strings)
  TArrayI   fParamValues; // list of parameter values (integers)
  
  ClassDef(AliITSTriggerAlgorithmConditions,1) // Trigger algorithm conditions class
};

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