Fix for install in EMCAL
[u/mrichter/AliRoot.git] / TRIGGER / AliTrigConnector.h
CommitLineData
88f843f1 1#ifndef ALITRIGCONNECTOR_H
2#define ALITRIGCONNECTOR_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, 28/07/2009
8
9//==============================================================================
10// AliTrigConnector - Class representing a connector between an output of a
11// device (feeder) and an arbitrary number of inputs of other devices.
12//==============================================================================
13
14#ifndef ROOT_TNamed
15#include "TNamed.h"
16#endif
17
18class TObjArray;
19class AliTrigDevice;
20class AliTrigEvent;
21
22class AliTrigConnector : public TNamed {
23
24public:
25 AliTrigConnector() : TNamed(), fFeeder(0), fOutput(0), fNclients(0), fArraySize(0), fInputs(0), fDevices(0) {}
79e35bac 26 AliTrigConnector(const char *name, AliTrigDevice *feeder, Int_t output) : TNamed(name, ""), fFeeder(feeder), fOutput(output), fNclients(0), fArraySize(0), fInputs(0), fDevices(0) {}
88f843f1 27 virtual ~AliTrigConnector();
28
88f843f1 29
30 // Connect a client input.
79e35bac 31 void Connect(AliTrigDevice *client, Int_t input);
88f843f1 32
33 virtual void Print(Option_t *option="") const;
34
35 // Transmit the feeder signal to all connected inputs. Different device types
36 // call different Transmit() methods.
37 Bool_t Transmit(Bool_t value);
38 Bool_t Transmit(AliTrigEvent *event);
39
40private:
4aa6faab 41 AliTrigConnector(const AliTrigConnector &other);
42 AliTrigConnector &operator=(const AliTrigConnector &other);
43
88f843f1 44 AliTrigDevice *fFeeder; // Feeder device
79e35bac 45 Int_t fOutput; // Output slot index for the feeder
88f843f1 46 Int_t fNclients; // Number of clients
47 Int_t fArraySize; // Size of the clients array
79e35bac 48 Int_t *fInputs; //[fArraySize] Array of input slot indices
88f843f1 49 TObjArray *fDevices; // Array of client devices
50
51 ClassDef(AliTrigConnector,1) // Class representing a connector between devices.
52};
53#endif