Line data Source code
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 :
18 : class TObjArray;
19 : class AliTrigDevice;
20 : class AliTrigEvent;
21 :
22 : class AliTrigConnector : public TNamed {
23 :
24 : public:
25 0 : AliTrigConnector() : TNamed(), fFeeder(0), fOutput(0), fNclients(0), fArraySize(0), fInputs(0), fDevices(0) {}
26 0 : AliTrigConnector(const char *name, AliTrigDevice *feeder, Int_t output) : TNamed(name, ""), fFeeder(feeder), fOutput(output), fNclients(0), fArraySize(0), fInputs(0), fDevices(0) {}
27 : virtual ~AliTrigConnector();
28 :
29 :
30 : // Connect a client input.
31 : void Connect(AliTrigDevice *client, Int_t input);
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 :
40 : private:
41 : AliTrigConnector(const AliTrigConnector &other);
42 : AliTrigConnector &operator=(const AliTrigConnector &other);
43 :
44 : AliTrigDevice *fFeeder; // Feeder device
45 : Int_t fOutput; // Output slot index for the feeder
46 : Int_t fNclients; // Number of clients
47 : Int_t fArraySize; // Size of the clients array
48 : Int_t *fInputs; //[fArraySize] Array of input slot indices
49 : TObjArray *fDevices; // Array of client devices
50 :
51 12 : ClassDef(AliTrigConnector,1) // Class representing a connector between devices.
52 : };
53 : #endif
|