06-oct-2004 NvE Full support for data access via slotname specification introduced...
[u/mrichter/AliRoot.git] / RALICE / AliAttrib.h
CommitLineData
1fbffa23 1#ifndef ALIATTRIB_H
2#define ALIATTRIB_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6// $Id$
7
8#include "TArrayF.h"
9#include "TArrayI.h"
10#include "TObjArray.h"
11#include "TObjString.h"
12#include "TString.h"
13
14class AliAttrib
15{
16 public:
17 AliAttrib(); // Default constructor
18 virtual ~AliAttrib(); // Destructor
261c0caf 19 AliAttrib(const AliAttrib& a); // Copy constructor
20 Int_t GetNgains() const; // Provide the number of specified gains
21 Int_t GetNoffsets() const; // Provide the number of specified offsets
22 Int_t GetNcalflags() const; // Provide the number of specified calib. flags
23 Int_t GetNnames() const; // Provide the maximum number of specified names
1fbffa23 24 void SetGain(Double_t gain,Int_t j=1); // Set gain of the j-th attribute slot
2cb7369d 25 void SetGain(Double_t gain,TString name); // Set gain of the name-specified attribute slot
261c0caf 26 Float_t GetGain(Int_t j=1) const; // Provide gain of the j-th attribute slot
2cb7369d 27 Float_t GetGain(TString name) const; // Provide gain of the name-specified attribute slot
1fbffa23 28 void SetOffset(Double_t off,Int_t j=1); // Set offset value of the j-th attribute slot
2cb7369d 29 void SetOffset(Double_t off,TString name); // Set offset value of the name specified attribute slot
261c0caf 30 Float_t GetOffset(Int_t j=1) const; // Provide offset value of the j-th attribute slot
2cb7369d 31 Float_t GetOffset(TString name) const; // Provide offset value of the name-specified attribute slot
261c0caf 32 Int_t GetGainFlag(Int_t j=1) const; // Provide gain flag of the j-th attribute slot
2cb7369d 33 Int_t GetGainFlag(TString name) const; // Provide gain flag of the name-specified attribute slot
261c0caf 34 Int_t GetOffsetFlag(Int_t j=1) const; // Provide offset flag of the j-th attribute slot
2cb7369d 35 Int_t GetOffsetFlag(TString name) const; // Provide offset flag of the name-specified attribute slot
1fbffa23 36 void ResetGain(Int_t j=1); // Reset j-th gain value and flag
2cb7369d 37 void ResetGain(TString name); // Reset name-specified gain value and flag
1fbffa23 38 void ResetOffset(Int_t j=1); // Reset j-th offset value and flag
2cb7369d 39 void ResetOffset(TString name); // Reset name-specified offset value and flag
1fbffa23 40 void DeleteCalibrations(Int_t mode=0); // User selected delete of gains and/or offsets
41 void SetDead(Int_t j=1); // Indicate j-th attribute slot as 'dead'
2cb7369d 42 void SetDead(TString name); // Indicate name-specified attribute slot as 'dead'
1fbffa23 43 void SetAlive(Int_t j=1); // Indicate j-th attribute slot as 'active'
2cb7369d 44 void SetAlive(TString name); // Indicate name-specified attribute slot as 'active'
261c0caf 45 Int_t GetDeadValue(Int_t j=1) const; // Return the 'dead flag' of the j-th attribute slot
2cb7369d 46 Int_t GetDeadValue(TString name) const; // Return the 'dead flag' of the name-specified attribute slot
1fbffa23 47 void SetEdgeOn(Int_t j=1); // Indicate j-th slot as 'detector edge module'
2cb7369d 48 void SetEdgeOn(TString name); // Indicate name-spcified slot as 'detector edge module'
1fbffa23 49 void SetEdgeOff(Int_t j=1); // Indicate j-th slot as 'detector non-edge module'
2cb7369d 50 void SetEdgeOff(TString name); // Indicate name-specified slot as 'detector non-edge module'
1fbffa23 51 void IncreaseEdgeValue(Int_t j=1); // Increase the edge value of the j-th slot by 1
2cb7369d 52 void IncreaseEdgeValue(TString name); // Increase the edge value of the name-specified slot by 1
1fbffa23 53 void DecreaseEdgeValue(Int_t j=1); // Decrease the edge value of the j-th slot by 1
2cb7369d 54 void DecreaseEdgeValue(TString name); // Decrease the edge value of the name-specified slot by 1
1fbffa23 55 void SetEdgeValue(Int_t val,Int_t j=1); // Set a specific edge value for the j-th slot
2cb7369d 56 void SetEdgeValue(Int_t val,TString name); // Set a specific edge value for the name-specified slot
261c0caf 57 Int_t GetEdgeValue(Int_t j=1) const; // Provide the edge value of the j-th slot
2cb7369d 58 Int_t GetEdgeValue(TString name) const; // Provide the edge value of the name-specified slot
261c0caf 59 virtual void List(Int_t j=0) const; // Printout of attribute data
2cb7369d 60 virtual void List(TString name) const; // Printout of name-specified attribute data
1fbffa23 61 virtual void Load(AliAttrib& a,Int_t j=0); // Load j-th slot or all attributes of the input AliAttrib
2cb7369d 62 virtual void Load(AliAttrib& a,TString name);// Load name-specified slot attributes of the input AliAttrib
1fbffa23 63 void SetSlotName(TString s,Int_t j=1); // Set user defined name for the j-th slot
261c0caf 64 TString GetSlotName(Int_t j=1) const; // Provide user defined name for the j-th slot
65 Int_t GetSlotIndex(TString name) const; // Provide the slot index of the matching name
1fbffa23 66
67 protected:
68 void SetCalFlags(Int_t gf,Int_t of,Int_t j); // Set flags for gain and/or offset settings
69 TArrayF* fGains; // Gain values
70 TArrayF* fOffsets; // Offset values
71 TArrayI* fCalflags; // Flags to mark dead, edge, and gain/offset calibrated signals
72 TObjArray* fNames; // User defined names for the various slots
73
2cb7369d 74 ClassDef(AliAttrib,3) // Generic handling of detector signal (calibration) attributes.
1fbffa23 75};
76#endif