LCOV - code coverage report
Current view: top level - TRIGGER - AliTrigDigitalCircuit.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 6 16.7 %
Date: 2016-06-14 17:26:59 Functions: 1 10 10.0 %

          Line data    Source code
       1             : #ifndef ALITRIGDIGITALCIRCUIT_H
       2             : #define ALITRIGDIGITALCIRCUIT_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             : // Author: Andrei Gheata, 27/07/2009
       8             : 
       9             : //==============================================================================
      10             : //   AliTrigDigitalCircuit - Base class for digital circuits having N Boolean 
      11             : //      inputs and one Boolean output. Derived classes must implement the pure 
      12             : //      virtual method Trigger() that will return the Boolean response 
      13             : //      of the circuit as function of the inputs.
      14             : //==============================================================================
      15             : 
      16             : #ifndef ALITRIGDEVICE_H
      17             : #include "AliTrigDevice.h"
      18             : #endif
      19             : 
      20             : #ifndef ROOT_TBits
      21             : #include "TBits.h"
      22             : #endif
      23             : 
      24             : class AliTrigEvent;
      25             : class AliTrigConnector;
      26             : 
      27             : class AliTrigDigitalCircuit : public AliTrigDevice {
      28             : 
      29             : public:
      30             :   AliTrigDigitalCircuit() : AliTrigDevice(), fLastOutput(kFALSE), fConnector(0), fInputs() {}
      31             :   AliTrigDigitalCircuit(const char *name, UInt_t ninputs) : AliTrigDevice(name, ninputs, 1), fLastOutput(kFALSE), fConnector(0), fInputs(ninputs) {}
      32             :   virtual ~AliTrigDigitalCircuit();
      33             : 
      34             :   virtual Bool_t            Connect(Int_t output, AliTrigDevice *other, Int_t at_input);
      35             :   virtual Bool_t            Response(Int_t output);
      36             :   // Get/Set inputs
      37           0 :   Bool_t                    GetInputValue(Int_t input) const {return fInputs.TestBitNumber(input);}
      38           0 :   virtual void              ResetInputs() {fInputs.ResetAllBits();}
      39           0 :   virtual Bool_t            SetInputType(Int_t /*input*/, const char */*classname*/) {return kFALSE;}
      40           0 :   virtual Bool_t            SetInputValue(Int_t input, Bool_t value) {fInputs.SetBitNumber(input,value); return kTRUE;}
      41           0 :   virtual Bool_t            SetInputValue(Int_t /*input*/, AliTrigEvent */*signal*/) {return  kFALSE;}
      42             : private:
      43             :    // Circuit response function. 
      44             :   AliTrigDigitalCircuit(const AliTrigDigitalCircuit &other);
      45             :   AliTrigDigitalCircuit &operator=(const AliTrigDigitalCircuit &other);
      46             :   virtual Bool_t            Trigger() = 0;
      47             :    
      48             : protected:
      49             :   Bool_t                    fLastOutput; // Output recorded after the last Response() call.
      50             :   AliTrigConnector         *fConnector;  // Connector for the circuit output
      51             :   TBits                     fInputs;
      52             :    
      53          12 :   ClassDef(AliTrigDigitalCircuit,1)  // Base class for digital circuits
      54             : };
      55             : #endif

Generated by: LCOV version 1.11