Line data Source code
1 : /**
2 : * \file AliEMCALTriggerBitConfig.h
3 : * \brief Definition of EMCAL trigger bit configurations
4 : *
5 : * Two configuation are defined:
6 : * - 2 triggers, 1 threshold
7 : * - 2 triggers, 2 thresholds
8 : *
9 : * \author Markus Fasel <markus.fasel@cern.ch>, Lawrence Berkeley National Laboratory
10 : */
11 : #ifndef ALIEMCALTRIGGERBITCONFIG_H
12 : #define ALIEMCALTRIGGERBITCONFIG_H
13 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
14 : * See cxx source for full Copyright notice */
15 :
16 : #include "AliLog.h"
17 : #include <TNamed.h>
18 :
19 : /**
20 : * \class AliEMCALTriggerBitConfig
21 : * \brief Definition of trigger bit configurations
22 : *
23 : * Trigger bit configuration used in the trigger patch maker and by the trigger patches
24 : * themselves in order to identify of which type the trigger patch is. Can be adapted to different
25 : * trigger bit configurations use in different reconstructions
26 : */
27 0 : class AliEMCALTriggerBitConfig : public TNamed {
28 : public:
29 : AliEMCALTriggerBitConfig();
30 : AliEMCALTriggerBitConfig(Int_t l0bit, Int_t j1bit, Int_t j2bit, Int_t g1bit, Int_t g2bit, Int_t bkgbit, Int_t mcoffset);
31 0 : virtual ~AliEMCALTriggerBitConfig() {}
32 :
33 : void Initialise(const AliEMCALTriggerBitConfig &ref);
34 :
35 : /**
36 : * Get the trigger bit for Level0 triggers
37 : * @return Trigger bit number
38 : */
39 0 : Int_t GetLevel0Bit() const { if(fL0Bit < 0) AliFatal("Invalid trigger configuration: Level0 bit < 0"); return fL0Bit; }
40 : /**
41 : * Get trigger bit for the jet trigger, high threshold
42 : * @return Trigger bit number
43 : */
44 0 : Int_t GetJetHighBit() const { if(fJHighBit < 0) AliFatal("Invalid trigger configuration: Jet high bit < 0"); return fJHighBit; }
45 : /**
46 : * Get trigger bit for the jet trigger, low threshold
47 : * @return Trigger bit number
48 : */
49 0 : Int_t GetJetLowBit() const { if(fJLowBit < 0) AliFatal("Invalid trigger configuration: Jet low bit < 0"); return fJLowBit; }
50 : /**
51 : * Get trigger bit for the gamma trigger, high treshold
52 : * @return Trigger bit number
53 : */
54 0 : Int_t GetGammaHighBit() const { if(fGHighBit < 0) AliFatal("Invalid trigger configuration: Gamma high bit < 0"); return fGHighBit; }
55 : /**
56 : * Get trigger bit for the gamma trigger, low threshold
57 : * @return Trigger bit number
58 : */
59 0 : Int_t GetGammaLowBit() const { if(fGLowBit < 0) AliFatal("Invalid trigger configuration: Gamma low bit < 0"); return fGLowBit; }
60 : /**
61 : * Get trigger bit for the gamma trigger, low threshold
62 : * @return Trigger bit number
63 : */
64 0 : Int_t GetBkgBit() const { if(fBkgBit < 0) AliFatal("Invalid trigger configuration: background bit < 0"); return fBkgBit; }
65 : /**
66 : * Get the Monte-Carlo offset
67 : * @return MC offset
68 : */
69 0 : Int_t GetTriggerTypesEnd() const {if(fTriggerTypesEnd < 0) AliFatal("Invalid trigger configuration: MC Offset bit < 0"); return fTriggerTypesEnd; }
70 :
71 : protected:
72 : Int_t fL0Bit; ///< Level0 bit
73 : Int_t fJHighBit; ///< Jet High bit
74 : Int_t fJLowBit; ///< Jet Low bit
75 : Int_t fGHighBit; ///< Gamma High bit
76 : Int_t fGLowBit; ///< Gamma Low bit
77 : Int_t fBkgBit; ///< Background bit
78 : Int_t fTriggerTypesEnd; ///< Monte-Carlo offset
79 :
80 : /// \cond CLASSIMP
81 22 : ClassDef(AliEMCALTriggerBitConfig, 1);
82 : /// \endcond
83 : };
84 :
85 : /**
86 : * \class AliEMCALTriggerBitConfigOld
87 : * \brief Definition of old trigger bit configuration
88 : *
89 : * Definition of old trigger bit configuration:
90 : * - 2 triggers, 1 threshold
91 : */
92 0 : class AliEMCALTriggerBitConfigOld : public AliEMCALTriggerBitConfig{
93 : public:
94 : AliEMCALTriggerBitConfigOld();
95 0 : virtual ~AliEMCALTriggerBitConfigOld() {}
96 :
97 : /// \cond CLASSIMP
98 22 : ClassDef(AliEMCALTriggerBitConfigOld, 1);
99 : /// \endcond
100 : };
101 :
102 : /**
103 : * \class AliEMCALTriggerBitConfigNew
104 : * \brief Definition of new trigger bit configuration
105 : *
106 : * Definition of new trigger bit configuration:
107 : * - 2 triggers, 2 thresholds
108 : */
109 0 : class AliEMCALTriggerBitConfigNew : public AliEMCALTriggerBitConfig{
110 : public:
111 : AliEMCALTriggerBitConfigNew();
112 0 : virtual ~AliEMCALTriggerBitConfigNew() {}
113 :
114 : /// \cond CLASSIMP
115 22 : ClassDef(AliEMCALTriggerBitConfigNew, 1);
116 : /// \endcond
117 : };
118 :
119 : #endif /* ALIEMCALTRIGGERBITCONFIG_H */
|