ROOT logo
#ifndef ALITRIGGERDETECTOR_H
#define ALITRIGGERDETECTOR_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Base Class for Detector specific Trigger                                 //                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TObjArray.h>
#include <TNamed.h>
class TString;
class AliTriggerInput;


class AliTriggerDetector : public TNamed {

public:
                          AliTriggerDetector();
               virtual   ~AliTriggerDetector();
	       AliTriggerDetector(const AliTriggerDetector & de );

          virtual void    AssignInputs(const TObjArray& inputs);
          virtual void    CreateInputs();
          virtual void    Trigger();
  //  Setters
                  void    AddInput( TObject * input ) { fInputs.AddLast( input ); }
                  void    SetInput( TString & name );
                  void    SetInput( const char * name );
  //  Getters
             TObjArray*   GetInputs() { return &fInputs; }
                Long_t    GetMask() const { return fMask; }

       AliTriggerInput*   GetInput( TString & name ) {
                             return ((AliTriggerInput*)fInputs.FindObject( name.Data() ));
                          }
       AliTriggerInput*   GetInput( const char *  name ) {
                             return ((AliTriggerInput*)fInputs.FindObject( name ));
                          }
          virtual void    Print( const Option_t* opt ="" ) const;

protected:
                Long_t    fMask;      // Trigger Mask ( bitwise OR of trigger inputs )
             TObjArray    fInputs;    // Array of Triggers Inputs (AliTriggerInput class)

private:
	     AliTriggerDetector&   operator=(const AliTriggerDetector& de);

   ClassDef( AliTriggerDetector, 1 )  // Base Class for Detector specific Trigger
};

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