1 | #ifndef __MMcTrigHeader__
|
---|
2 | #define __MMcTrigHeader__
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #include "MTriggerDefine.h"
|
---|
9 |
|
---|
10 | class MMcTrigHeader : public MParContainer{
|
---|
11 | private:
|
---|
12 |
|
---|
13 | Short_t fTopology ; // Topology of the trigger
|
---|
14 | // 0 = N-1 neighbours of one pixel
|
---|
15 | // 1 = N neighbours
|
---|
16 | // 2 = N closed pack
|
---|
17 | Short_t fMultiplicity ; // Pixel multiplicity of trigger configuration
|
---|
18 | Float_t fThreshold[TRIGGER_PIXELS] ; // Threshold for trigger
|
---|
19 | UInt_t fTrigPattern[2]; // Used to inddentify with
|
---|
20 | // RawEvt::Trigger Pattern identification
|
---|
21 | Float_t fTrigShape ; // a number that indicate the shape type of
|
---|
22 | // the signal
|
---|
23 | // = 0 --> a gaussian
|
---|
24 | Float_t fAmplTrig ; // the amplitude of the trigger in mV
|
---|
25 | Float_t fFwhmTrig ; // the width of the signal in nsec
|
---|
26 | Float_t fOverlapingTime;// Minimum coincidence time
|
---|
27 | Float_t fGateLeng; // the length of the digital signal if analog signal is above threshold
|
---|
28 |
|
---|
29 | public:
|
---|
30 | MMcTrigHeader() ;
|
---|
31 |
|
---|
32 | ~MMcTrigHeader();
|
---|
33 |
|
---|
34 | void Print(Option_t *opt=NULL) const;
|
---|
35 |
|
---|
36 | void SetTopology(Short_t nTop) {
|
---|
37 | fTopology=nTop;
|
---|
38 | }
|
---|
39 |
|
---|
40 | void SetMultiplicity(Short_t nMul) {
|
---|
41 | fMultiplicity=nMul;
|
---|
42 | }
|
---|
43 |
|
---|
44 | void SetThreshold(Float_t fthr[]){
|
---|
45 | int i;
|
---|
46 | for(i=0;i<TRIGGER_PIXELS;i++){
|
---|
47 | fThreshold[i]=fthr[i];
|
---|
48 | }
|
---|
49 | }
|
---|
50 |
|
---|
51 | void SetTrigPattern (UInt_t upi, UInt_t loi){
|
---|
52 |
|
---|
53 | if (upi==loi==0) {
|
---|
54 | fTrigPattern[0]= (UInt_t) fThreshold[0];
|
---|
55 | fTrigPattern[1]= (UInt_t) (100*fMultiplicity+fTopology);
|
---|
56 | }
|
---|
57 | else {
|
---|
58 | fTrigPattern[0]=upi;
|
---|
59 | fTrigPattern[1]=loi;
|
---|
60 | }
|
---|
61 | }
|
---|
62 |
|
---|
63 | void SetShape(Float_t shape){
|
---|
64 | fTrigShape=shape;
|
---|
65 | }
|
---|
66 |
|
---|
67 | void SetAmplitud(Float_t amp){
|
---|
68 | fAmplTrig=amp;
|
---|
69 | }
|
---|
70 |
|
---|
71 | void SetFwhm(Float_t fwhm){
|
---|
72 | fFwhmTrig=fwhm;
|
---|
73 | }
|
---|
74 |
|
---|
75 | void SetOverlap(Float_t overlap){
|
---|
76 | fOverlapingTime=overlap;
|
---|
77 | }
|
---|
78 |
|
---|
79 | void SetGate(Float_t gate){
|
---|
80 | fGateLeng=gate;
|
---|
81 | }
|
---|
82 |
|
---|
83 | ClassDef(MMcTrigHeader, 1) //Stores Montecarlo Information which describes the used trigger
|
---|
84 |
|
---|
85 | };
|
---|
86 |
|
---|
87 | #endif
|
---|
88 |
|
---|