ROOT logo
#ifndef __TMrbParamListEntry_h__
#define __TMrbParamListEntry_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbParamListEntry.h
// Purpose:        Class to manage the list of parameters in an experiment
// Description:
// Author:         R. Lutter
// Revision:       $Id: TMrbParamListEntry.h,v 1.1 2005-11-23 11:51:53 Rudolf.Lutter Exp $       
// Date:           
// URL:            
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

#include "TObject.h"
#include "TH1.h"
#include "TF1.h"
#include "TMrbNamedX.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbParamListEntry
// Purpose:        An entry in user's param list
// Description:    Bookkeeping: Connects params to modules and histos
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

class TMrbParamListEntry : public TObject {

	public:
		TMrbParamListEntry( TMrbNamedX * Module = NULL,								// ctor
							TObject * Address = NULL,
							TH1 * HistoAddress = NULL,
							TH1 * SingleAddress = NULL) :	fModule(Module),
															fAddress(Address),
															fHistoAddress(HistoAddress),
															fSingleAddress(SingleAddress) {};
		virtual ~TMrbParamListEntry() {};  											// dtor

		inline TMrbNamedX * GetModule() const { return(fModule); };
		inline void SetModule(TMrbNamedX * Module) { fModule = Module; };
		inline TObject * GetAddress() const { return(fAddress); };
		inline void SetAddress(TObject * Address) { fAddress = Address; };
		inline TH1 * GetHistoAddress(Bool_t SingleFlag = kFALSE) const {
			return(SingleFlag ? fSingleAddress : fHistoAddress);
		};
		inline void SetHistoAddress(TH1 * Address, Bool_t SingleFlag = kFALSE) {
			if (SingleFlag) fSingleAddress = Address;
			else			fHistoAddress = Address;
		};
		inline TF1 * GetCalibrationAddress() const { return(fCalibrationAddress); };
		inline void SetCalibrationAddress(TF1 * Address) { fCalibrationAddress = Address; };
		inline TF1 * GetDCorrAddress() const { return(fDCorrAddress); };
		inline void SetDCorrAddress(TF1 * Address) { fDCorrAddress = Address; };

	protected:
		TMrbNamedX * fModule;
		TObject * fAddress;
		TH1 * fHistoAddress;
		TH1 * fSingleAddress;
		TF1 * fCalibrationAddress;
		TF1 * fDCorrAddress;

	ClassDef(TMrbParamListEntry, 0) 	// [Analyze] List of params
};

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