X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliCentralTrigger.h;h=5b240ec596c69f979e7cb69b218137d1443ba7cf;hb=dcc2ade075ecd6298757d84b65bdd14ca92f42f6;hp=f8105baa01a339fd5e90f28ebfcbc874cada9e6b;hpb=7a03541c9d45da0ab91c87d5b95e3ea0b852204f;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliCentralTrigger.h b/STEER/AliCentralTrigger.h index f8105baa01a..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 // // // @@ -27,38 +27,58 @@ 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 ); - Long_t CheckConditions(); + Bool_t LoadConfiguration( TString & config ); + Bool_t RunTrigger( AliRunLoader * runloader , const char* detectors); + ULong64_t TriggerClasses(); + void TriggerInputs(); 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; } + 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 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) + 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 };