]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliTriggerConfiguration.h
ITS tasks from the pilot train added.
[u/mrichter/AliRoot.git] / STEER / AliTriggerConfiguration.h
index 774cef10258f1d45534ec7d7927442891364e1d1..16852dc53aec3fe3a88c5027e5f6c0c25482786e 100755 (executable)
@@ -69,6 +69,8 @@ public:
                                    UInt_t prescaler, Bool_t allrare);
                  Bool_t   AddClass( AliTriggerClass *trclass);
 
+                  void   Reset();
+
   //  Getters
                TString    GetActiveDetectors() const;
                TString    GetTriggeringDetectors() const;
@@ -83,6 +85,8 @@ public:
        const TObjArray&   GetDescriptors() const { return fDescriptors; }
        const TObjArray&   GetClasses() const { return fClasses; }
 
+                  Int_t   GetVersion() const { return fVersion; }
+
        //     AliTriggerCluster*   GetTriggerCluster(UInt_t index)
        //       { return (index < kNMaxClusters) ? (AliTriggerCluster*)fClusters[index] : NULL; }
 
@@ -94,10 +98,11 @@ public:
   //  Configurations Database (root file)
                   void    WriteConfiguration( const char* filename="" );
       static TObjArray*   GetAvailableConfigurations( const char* filename="" );
-      static
- AliTriggerConfiguration* LoadConfiguration( TString & des);
 
-      enum {kNMaxInputs = 50}; // CTP handles up to 50 trigger detector inputs
+      static AliTriggerConfiguration* LoadConfiguration(TString & des);
+      static AliTriggerConfiguration* LoadConfigurationFromString(const char* configuration);
+
+      enum {kNMaxInputs = 60}; // CTP handles up to 60 trigger detector inputs
       enum {kNMaxInteractions = 2}; // CTP handles up to two different interactions
       enum {kNMaxFunctions = 2}; // CTP handles up to two different logical functions
       enum {kNMaxClasses = 50}; // Maximum number of trigger classes = 50
@@ -106,6 +111,8 @@ public:
       enum {kNMaxMasks = 4};  // CTP handles up to 4 different BC masks
 
 private:
+      Bool_t ProcessConfigurationLine(const char* line, Int_t& level);
+
       TObjArray            fInputs;                           // Array with active CTP inputs
       TObjArray            fInteractions;                     // Array with the trigger interactions
       TObjArray            fFunctions;                        // Array with the logical functions of the first 4 inputs
@@ -115,13 +122,15 @@ private:
       TObjArray            fClusters;                         // Array of Detector Trigger Clusters
       TObjArray            fClasses;                          // Array of Trigger Classes
 
+      Int_t                fVersion;                          // Configuration format version
+
                  Bool_t    IsSelected( TString detName, TString & detectors ) const;
    static const TString    fgkConfigurationFileName;        //! name of default configurations file
 
    AliTriggerConfiguration&   operator=(const AliTriggerConfiguration& des);
    AliTriggerConfiguration( const AliTriggerConfiguration& des );
 
-   ClassDef( AliTriggerConfiguration, 1 )  // Define a trigger configuration
+   ClassDef( AliTriggerConfiguration, 2 )  // Define a trigger configuration
 };
 
 #endif