1 | // ESAF : Euso Simulation and Analysis Framework |
---|
2 | // $Id: ChipTrackingTrgEngine3.cc 2385 2005-11-18 14:00:07Z pesce $ |
---|
3 | // R. Pesce created |
---|
4 | |
---|
5 | //_____________________________________________________________________________ |
---|
6 | // |
---|
7 | // Chip Tracking Trigger Engine 3 |
---|
8 | // ============================== |
---|
9 | // |
---|
10 | // Tracking trigger built in front end chip. |
---|
11 | // |
---|
12 | // This class is equivalent to ChipTrackingTrgEngine1 |
---|
13 | // for studying multiple trigger configurations using different thresholds |
---|
14 | // |
---|
15 | |
---|
16 | |
---|
17 | #include "ChipTrackingTrgEngine3.hh" |
---|
18 | #include "MacroCellData.hh" |
---|
19 | #include "MacroCell.hh" |
---|
20 | #include "ElementaryCell.hh" |
---|
21 | #include "FrontEndChip.hh" |
---|
22 | #include "BoolAlgebra.hh" |
---|
23 | #include "ChipTrackSegment.hh" |
---|
24 | #include "EusoElectronics.hh" |
---|
25 | #include "Photomultiplier.hh" |
---|
26 | #include "EusoDetector.hh" |
---|
27 | #include "TMath.h" |
---|
28 | #include "EChipTrackTriggerDataAdder.hh" |
---|
29 | #include "Config.hh" |
---|
30 | |
---|
31 | ClassImp(ChipTrackingTrgEngine3) |
---|
32 | |
---|
33 | //______________________________________________________________________________ |
---|
34 | ChipTrackingTrgEngine3::ChipTrackingTrgEngine3() : |
---|
35 | ChipTrackingTrgEngine1(string("ChipTrackingTrgEngine3"), kChipTrackingTrigger3 ) { |
---|
36 | // |
---|
37 | // Constructor |
---|
38 | // |
---|
39 | |
---|
40 | fMinTrackLength = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fMinTrackLength"); |
---|
41 | fMaxTrackLength = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fMaxTrackLength"); |
---|
42 | fMinTriggerTrackLength = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fMinTriggerTrackLength"); |
---|
43 | fMinTriggerTwoLength = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fMinTriggerTwoLength"); |
---|
44 | fMaxTwoLength = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fMaxTwoLength"); |
---|
45 | |
---|
46 | if ( Conf()->GetStr("ChipTrackingTrgEngine3.fThresholdType")=="absolute" ) fRelativeThreshold = kFALSE; |
---|
47 | else if ( Conf()->GetStr("ChipTrackingTrgEngine3.fThresholdType")=="relative" ) fRelativeThreshold = kTRUE; |
---|
48 | else Msg(EsafMsg::Panic) << "Wrong cfg value fThresholdType" << MsgDispatch; |
---|
49 | fAcceptHole = Conf()->GetBool("ChipTrackingTrgEngine3.fAcceptHole"); |
---|
50 | fOnlyWithSignal = Conf()->GetBool("ChipTrackingTrgEngine3.fOnlyWithSignal"); |
---|
51 | fThreshold = (Int_t)Conf()->GetNum("ChipTrackingTrgEngine3.fThreshold"); |
---|
52 | |
---|
53 | // panic if we want to simulate >32 trigger patterns |
---|
54 | if ( ((fMaxTrackLength-fMinTriggerTrackLength+1)+(fMaxTwoLength-fMinTriggerTwoLength+1)) > 32 ) |
---|
55 | Msg(EsafMsg::Panic) << "Request for > 32 patterns of trigger." << MsgDispatch; |
---|
56 | |
---|
57 | ConfigFileParser *pConfig = Config::Get()->GetCF("Electronics","MacroCell"); |
---|
58 | if ( !pConfig->GetBool("MacroCell.fSaveAllChipGtuData") ) |
---|
59 | Msg(EsafMsg::Warning) << "MacroCell.fSaveAllChipGtuData is not enabled. Some infos are missing" << MsgDispatch; |
---|
60 | |
---|
61 | FillRunPars(); |
---|
62 | Clear(); |
---|
63 | } |
---|
64 | |
---|
65 | |
---|
66 | //______________________________________________________________________________ |
---|
67 | ChipTrackingTrgEngine3::~ChipTrackingTrgEngine3() { |
---|
68 | // |
---|
69 | // Destructor |
---|
70 | // |
---|
71 | } |
---|
72 | |
---|