]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCentralTrigger.h
silvermy@ornl.gov - SMcalib - directory with tools for SuperModule calibrations at...
[u/mrichter/AliRoot.git] / STEER / AliCentralTrigger.h
index 12b0d6fe672fe20a1cb91546887bc1b5a326548b..bd08f573eebc71c1bb345711fdd365ad9d7cb126 100644 (file)
 // This class for running the Central Trigger Processor                      //
 //                                                                           //
 //                                                                           //
-//    Load Descriptors                                                       //
-//    Make a list the trigger detectors involve from the descriptors         //
+//    Load Configuration                                                     //
+//    Make a list the trigger detectors involved ( from the configuration)   //
 //    For the each event                                                     //
 //           Run the Trigger for the each detector                           //
 //           Get the inputs                                                  //
-//           Check the condition classes                                     //
+//           Check the trigger classes                                       //
 //           Create the class mask                                           //
 //           Save result                                                     //
 //                                                                           //
 
 class TTree;
 class AliRunLoader;
+class AliTriggerConfiguration;
 
 class AliCentralTrigger : public TObject {
 
 public:
                           AliCentralTrigger();
-                          AliCentralTrigger( TString & descriptor );
-                          AliCentralTrigger( const AliCentralTrigger& ctp );
+                          AliCentralTrigger( TString & config );
                virtual   ~AliCentralTrigger();
 
-                Bool_t    LoadDescriptor( TString & descriptor );
-                Bool_t    RunTrigger( AliRunLoader * runloader );
-                ULong64_t CheckConditions();
+                Bool_t    LoadConfiguration( TString & config );
+                Bool_t    RunTrigger( AliRunLoader * runloader , const char* detectors);
+             ULong64_t    TriggerClasses();
                   void    Reset();
-                  void    DeleteDescriptors();
+                 void    DeleteConfiguration();
                   void    MakeBranch( TString name, TTree * tree );
   //  Getters
                TString    GetDetectors();
              ULong64_t    GetClassMask() const { return fClassMask; }
-               UChar_t    GetClusterMask();
            TObjArray*   GetLoadedDescriptors() { return &fDescriptors; }
-             TObjArray*   GetResultConditions();
+               UInt_t    GetClusterMask() const { return fClusterMask; }
AliTriggerConfiguration* GetConfiguration() { return fConfiguration; }
+             TObjArray*   GetFiredClasses() const;
                   void    Print( const Option_t* opt ="" ) const;
+               Bool_t    CheckTriggeredDetectors() const;
+
+              // Setters to be used in case raw data when the trigger information
+              // is read from the event header
+              void       SetClassMask(ULong64_t mask) { fClassMask = mask; }
+              void       SetClusterMask(UInt_t mask)  { fClusterMask = mask; }
 protected:
-       //        TString    fRunCondition;     // Running modes Ej. Pb-Pb, p-p, p-A
              ULong64_t    fClassMask;          // UID ( bitwise OR of conditions mask )
-             TObjArray    fDescriptors;        // Array of Trigger Descriptors (AliTriggerDescriptor)
-             TObjArray    fInputs;             //! Array of Trigger Inputs
+                UInt_t    fClusterMask;        // UID ( bitwise OR of clusters mask - detector pattern)
+ AliTriggerConfiguration* fConfiguration;      // Trigger Configuration used
 
 private:
+                void      SetOwner(Bool_t x=kTRUE){SetBit(22,x);} // Bit 22 indicates that the object owns fConfiguration
+                Bool_t    IsOwner() const {return TestBit(22);} // Test bit 22 to check that the object owns fConfiguration
                 Bool_t    IsSelected( TString detName, TString& detectors ) const;
+               AliCentralTrigger( const AliCentralTrigger& ctp ); // Implemented
+               AliCentralTrigger& operator=( const AliCentralTrigger& ctp ); // Not implemented
 
-   ClassDef( AliCentralTrigger, 1 )  // class for running the Central Trigger Processor
+   ClassDef( AliCentralTrigger, 5 )  // class for running the Central Trigger Processor
 };