]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliCentralTrigger.h
0a22e67991ebd762b88836d2ad004b2523987f94
[u/mrichter/AliRoot.git] / STEER / AliCentralTrigger.h
1 #ifndef ALICENTRALTRIGGER_H
2 #define ALICENTRALTRIGGER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 // This class for running the Central Trigger Processor                      //
12 //                                                                           //
13 //                                                                           //
14 //    Load Descriptors                                                       //
15 //    Make a list the trigger detectors involve from the descriptors         //
16 //    For the each event                                                     //
17 //           Run the Trigger for the each detector                           //
18 //           Get the inputs                                                  //
19 //           Check the condition classes                                     //
20 //           Create the class mask                                           //
21 //           Save result                                                     //
22 //                                                                           //
23 ///////////////////////////////////////////////////////////////////////////////
24
25 #include <TObject.h>
26 #include <TObjArray.h>
27
28 class AliRunLoader;
29
30 class AliCentralTrigger : public TObject {
31
32 public:
33                           AliCentralTrigger();
34                           AliCentralTrigger( TString & descriptor );
35                virtual   ~AliCentralTrigger();
36
37                 Bool_t    LoadDescriptor( TString & descriptor );
38                 Bool_t    RunTrigger( AliRunLoader * runloader );
39                 Long_t    CheckConditions();
40   //  Getters
41                TString    GetDetectors();
42                 Long_t    GetClassMask() const { return fClassMask; }
43              TObjArray*   GetLoadedDescriptors() { return &fDescriptors; }
44              TObjArray*   GetResultConditions();
45                   void    Print( const Option_t* opt ="" ) const;
46 protected:
47        //        TString    fRunCondition;     // Running modes Ej. Pb-Pb, p-p, p-A
48                 Long_t    fClassMask;          // UID ( bitwise OR of conditions mask )
49              TObjArray    fDescriptors;        // Array of Trigger Descriptors (AliTriggerDescriptor)
50              TObjArray    fInputs;             //! Array of Trigger Inputs
51
52 private:
53                 Bool_t    IsSelected( TString detName, TString& detectors ) const;
54
55    ClassDef( AliCentralTrigger, 1 )  // class for running the Central Trigger Processor
56 };
57
58
59 #endif