ROOT logo
#ifndef __TMrbCologne_CPTM_h__
#define __TMrbCologne_CPTM_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           expconf/inc/TMrbCologne_CPTM.h
// Purpose:        Define experimental configuration for MARaBOU
// Class:          TMrbCologne_CPTM     -- clock and programmable trigger module
// Description:    Class definitions to implement a configuration front-end for MARaBOU
// Author:         R. Lutter
// Revision:       $Id: TMrbCologne_CPTM.h,v 1.5 2008-12-10 12:13:49 Rudolf.Lutter Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

namespace std {} using namespace std;

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <fstream>

#include "Rtypes.h"
#include "TSystem.h"
#include "TObject.h"

#include "TMrbCamacModule.h"

class TMrbModuleChannel;
class TMrbSubevent;

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbCologne_CPTM
// Purpose:        Define a module of type C_PTM
// Description:    Defines an module of type C_PTM
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMrbCologne_CPTM : public TMrbCamacModule {

	public:

		TMrbCologne_CPTM() {};														// default ctor
		TMrbCologne_CPTM(const Char_t * ModuleName, const Char_t * ModulePosition);	// define a new dgf module
		virtual ~TMrbCologne_CPTM() {};												// remove module from list

		Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex);  	// generate part of code
		Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex, TMrbModuleChannel * Channel, Int_t Value = 0);  	// generate code for given channel

		Bool_t MakeRcFile(ofstream & RcStrm, TMrbConfig::EMrbRcFileTag TagIndex, const Char_t * ResourceName);
		
		virtual inline const Char_t * GetMnemonic() const { return("cptm"); }; 	// module mnemonic

		virtual Bool_t CheckSubeventType(TMrbSubevent * Subevent) const;		// check if subevent type is [10,2x]

		virtual inline Bool_t HasRandomReadout() const { return(kFALSE); };	// block mode only
		
		inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };

	protected:
		void DefineRegisters();

	protected:

	ClassDef(TMrbCologne_CPTM, 1)	// [Config] C_PTM: clock and programmable trigger module
};

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