#ifndef ALITRIGDIGITALCIRCUIT_H
#define ALITRIGDIGITALCIRCUIT_H
#ifndef ALITRIGDEVICE_H
#include "AliTrigDevice.h"
#endif
#ifndef ROOT_TBits
#include "TBits.h"
#endif
class AliTrigEvent;
class AliTrigConnector;
class AliTrigDigitalCircuit : public AliTrigDevice {
public:
AliTrigDigitalCircuit() : AliTrigDevice(), fLastOutput(kFALSE), fConnector(0), fInputs() {}
AliTrigDigitalCircuit(const char *name, UInt_t ninputs) : AliTrigDevice(name, ninputs, 1), fLastOutput(kFALSE), fConnector(0), fInputs(ninputs) {}
virtual ~AliTrigDigitalCircuit();
virtual Bool_t Connect(Int_t output, AliTrigDevice *other, Int_t at_input);
virtual Bool_t Response(Int_t output);
Bool_t GetInputValue(Int_t input) const {return fInputs.TestBitNumber(input);}
virtual void ResetInputs() {fInputs.ResetAllBits();}
virtual Bool_t SetInputType(Int_t , const char *) {return kFALSE;}
virtual Bool_t SetInputValue(Int_t input, Bool_t value) {fInputs.SetBitNumber(input,value); return kTRUE;}
virtual Bool_t SetInputValue(Int_t , AliTrigEvent *) {return kFALSE;}
private:
AliTrigDigitalCircuit(const AliTrigDigitalCircuit &other);
AliTrigDigitalCircuit &operator=(const AliTrigDigitalCircuit &other);
virtual Bool_t Trigger() = 0;
protected:
Bool_t fLastOutput;
AliTrigConnector *fConnector;
TBits fInputs;
ClassDef(AliTrigDigitalCircuit,1)
};
#endif
AliTrigDigitalCircuit.h:1 AliTrigDigitalCircuit.h:2 AliTrigDigitalCircuit.h:3 AliTrigDigitalCircuit.h:4 AliTrigDigitalCircuit.h:5 AliTrigDigitalCircuit.h:6 AliTrigDigitalCircuit.h:7 AliTrigDigitalCircuit.h:8 AliTrigDigitalCircuit.h:9 AliTrigDigitalCircuit.h:10 AliTrigDigitalCircuit.h:11 AliTrigDigitalCircuit.h:12 AliTrigDigitalCircuit.h:13 AliTrigDigitalCircuit.h:14 AliTrigDigitalCircuit.h:15 AliTrigDigitalCircuit.h:16 AliTrigDigitalCircuit.h:17 AliTrigDigitalCircuit.h:18 AliTrigDigitalCircuit.h:19 AliTrigDigitalCircuit.h:20 AliTrigDigitalCircuit.h:21 AliTrigDigitalCircuit.h:22 AliTrigDigitalCircuit.h:23 AliTrigDigitalCircuit.h:24 AliTrigDigitalCircuit.h:25 AliTrigDigitalCircuit.h:26 AliTrigDigitalCircuit.h:27 AliTrigDigitalCircuit.h:28 AliTrigDigitalCircuit.h:29 AliTrigDigitalCircuit.h:30 AliTrigDigitalCircuit.h:31 AliTrigDigitalCircuit.h:32 AliTrigDigitalCircuit.h:33 AliTrigDigitalCircuit.h:34 AliTrigDigitalCircuit.h:35 AliTrigDigitalCircuit.h:36 AliTrigDigitalCircuit.h:37 AliTrigDigitalCircuit.h:38 AliTrigDigitalCircuit.h:39 AliTrigDigitalCircuit.h:40 AliTrigDigitalCircuit.h:41 AliTrigDigitalCircuit.h:42 AliTrigDigitalCircuit.h:43 AliTrigDigitalCircuit.h:44 AliTrigDigitalCircuit.h:45 AliTrigDigitalCircuit.h:46 AliTrigDigitalCircuit.h:47 AliTrigDigitalCircuit.h:48 AliTrigDigitalCircuit.h:49 AliTrigDigitalCircuit.h:50 AliTrigDigitalCircuit.h:51 AliTrigDigitalCircuit.h:52 AliTrigDigitalCircuit.h:53 AliTrigDigitalCircuit.h:54 AliTrigDigitalCircuit.h:55