X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliCentralTrigger.h;h=5b240ec596c69f979e7cb69b218137d1443ba7cf;hb=c3ca811bbc17725c61e19879f4a9ae7d9aafe08c;hp=cc8f6e51346910b6a6f0df978acae291c81d4de4;hpb=a5a091ce9205fc32733378e12a6f11a8bae0c63d;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliCentralTrigger.h b/STEER/AliCentralTrigger.h index cc8f6e51346..5b240ec596c 100644 --- a/STEER/AliCentralTrigger.h +++ b/STEER/AliCentralTrigger.h @@ -11,12 +11,12 @@ // 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 // // // @@ -25,32 +25,60 @@ #include #include +class TTree; +class AliRunLoader; +class AliTriggerConfiguration; + class AliCentralTrigger : public TObject { public: AliCentralTrigger(); - AliCentralTrigger( TString & descriptor ); + AliCentralTrigger( TString & config ); virtual ~AliCentralTrigger(); - Bool_t LoadDescriptor( TString & descriptor ); - Bool_t RunTrigger( AliRunLoader * runloader ); - Long_t CheckConditions(); + Bool_t LoadConfiguration( TString & config ); + Bool_t RunTrigger( AliRunLoader * runloader , const char* detectors); + ULong64_t TriggerClasses(); + void TriggerInputs(); + void Reset(); + void DeleteConfiguration(); + void MakeBranch( TString name, TTree * tree ); // Getters TString GetDetectors(); - Long_t GetClassMask() const { return fClassMask; } - TObjArray* GetLoadedDescriptors() { return &fDescriptors; } - TObjArray* GetResultConditions(); + ULong64_t GetClassMask() const { return fClassMask; } + UInt_t GetClusterMask() const { return fClusterMask; } + UInt_t GetL0TriggerInputs() const { return fL0TriggerInputs; } + UInt_t GetL1TriggerInputs() const { return fL1TriggerInputs; } + UShort_t GetL2TriggerInputs() const { return fL2TriggerInputs; } + 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; } + void SetL0TriggerInputs(UInt_t mask) { fL0TriggerInputs = mask; } + void SetL1TriggerInputs(UInt_t mask) { fL1TriggerInputs = mask; } + void SetL2TriggerInputs(UShort_t mask) { fL2TriggerInputs = mask; } protected: - // TString fRunCondition; // Running modes Ej. Pb-Pb, p-p, p-A - Long_t fClassMask; // UID ( bitwise OR of conditions mask ) - TObjArray fDescriptors; // Array of Trigger Descriptors (AliTriggerDescriptor) - TObjArray fInputs; //! Array of Trigger Inputs + ULong64_t fClassMask; // UID ( bitwise OR of conditions mask ) + UInt_t fClusterMask; // UID ( bitwise OR of clusters mask - detector pattern) + UInt_t fL0TriggerInputs; // L0 trigger inputs (24 bits) + UInt_t fL1TriggerInputs; // L1 trigger inputs (24 bits) + UShort_t fL2TriggerInputs; // L2 trigger inputs (12 bits) + + 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 };