1 #ifndef ALITRIGGERDESCRIPTOR_H
2 #define ALITRIGGERDESCRIPTOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ///////////////////////////////////////////////////////////////////////////////
11 // This class for running a Trigger Descriptor //
14 // A Trigger Descriptor define a trigger setup for specific runnign
15 // condition (Pb-Pb, p-p, p-A, Calibration, etc).
17 // - cluster detector (List of detectors involved)
18 // - List of conditions
21 ///////////////////////////////////////////////////////////////////////////////
29 class AliTriggerDescriptor : public TNamed {
32 AliTriggerDescriptor();
33 AliTriggerDescriptor( TString & name, TString & description );
34 AliTriggerDescriptor( const AliTriggerDescriptor& des );
35 virtual ~AliTriggerDescriptor() { fConditions.SetOwner(); fConditions.Delete(); }
36 AliTriggerDescriptor& operator=(const AliTriggerDescriptor& des);
39 Bool_t AddDetectorCluster( TString & cluster );
40 void AddCondition( TString & cond, TString & name,
41 TString & description, ULong64_t mask );
42 void AddCondition( AliTriggerCondition* cond ) { fConditions.AddLast( cond ); }
44 TString GetDetectorCluster() const { return fDetectorCluster; }
45 TObjArray* GetTriggerConditions() { return &fConditions; }
46 Bool_t CheckInputsConditions( TString & configfile );
47 void Print( const Option_t* opt ="" ) const;
48 // Descriptors Database (root file)
49 void WriteDescriptor( const char* filename="" );
50 static TObjArray* GetAvailableDescriptors( const char* filename="" );
52 AliTriggerDescriptor* LoadDescriptor( TString & des, const char* filename="" );
53 //TODO static Bool_t RemoveDescriptor( AliTriggerDescriptor* descriptor, const char* filename="" );
54 //TODO static Bool_t RemoveDescriptor( TString* descriptor, const char* filename="" );
57 // TString fRunCondition; // Running modes Ej. Pb-Pb, p-p, p-A
58 TString fDetectorCluster; // Array of Detector Trigger
59 TObjArray fConditions; // Array of Trigger Condition (AliTriggerCondition)
61 static const Int_t fgkNDetectors = 10; //! number possible trigger detectors
62 static const char* fgkDetectorName[fgkNDetectors]; //! names of detectors
65 Bool_t IsSelected( TString detName, TString & detectors ) const;
66 static const TString fgkDescriptorFileName; //! name of default descriptors file
68 ClassDef( AliTriggerDescriptor, 2 ) // Define a trigger descriptor