BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
add_GEM_local_mapping.C
Go to the documentation of this file.
1// macro for adding parameter value (if parameter exist - you could check existing parameters by
2// 'UniParameter::PrintAll()' function)
3void ReadAndPut(TString fName, vector<UniValue*>& pValues);
4
5void AssignMapStructure(vector<UniValue*>& pArray, int i1, int i2)
6{
7 IIValue* pValue = new IIValue;
8 pValue->value1 = i1;
9 pValue->value2 = i2;
10
11 pArray.push_back(pValue);
12}
13
15{
16 bool return_error = false;
17
18 // UniParameter::CreateParameter("GEM_X_small", IIType);
19 // UniParameter::CreateParameter("GEM_Y_small", IIType);
20 // UniParameter::CreateParameter("GEM_X0_middle", IIType);
21 // UniParameter::CreateParameter("GEM_Y0_middle", IIType);
22 // UniParameter::CreateParameter("GEM_X1_middle", IIType);
23 // UniParameter::CreateParameter("GEM_Y1_middle", IIType);
24 // UniParameter::CreateParameter("GEM_X0_Big_Left", IIType);
25 // UniParameter::CreateParameter("GEM_X0_Big_Right", IIType);
26 // UniParameter::CreateParameter("GEM_X1_Big_Left", IIType);
27 // UniParameter::CreateParameter("GEM_X1_Big_Right", IIType);
28 // UniParameter::CreateParameter("GEM_Y0_Big_Left", IIType);
29 // UniParameter::CreateParameter("GEM_Y0_Big_Right", IIType);
30 // UniParameter::CreateParameter("GEM_Y1_Big_Left", IIType);
31 // UniParameter::CreateParameter("GEM_Y1_Big_Right", IIType);
32
33 vector<UniValue*> X_small;
34 vector<UniValue*> Y_small;
35 vector<UniValue*> X0_mid;
36 vector<UniValue*> Y0_mid;
37 vector<UniValue*> X1_mid;
38 vector<UniValue*> Y1_mid;
39 vector<UniValue*> X0_big_l;
40 vector<UniValue*> X0_big_r;
41 vector<UniValue*> X1_big_l;
42 vector<UniValue*> X1_big_r;
43 vector<UniValue*> Y0_big_l;
44 vector<UniValue*> Y0_big_r;
45 vector<UniValue*> Y1_big_l;
46 vector<UniValue*> Y1_big_r;
47
48 TString path = TString(getenv("VMCWORKDIR")) + TString("/input/");
49 ReadAndPut(path + TString("GEM_X_small.txt"), X_small);
50 ReadAndPut(path + TString("GEM_Y_small.txt"), Y_small);
51 ReadAndPut(path + TString("GEM_X0_middle.txt"), X0_mid);
52 ReadAndPut(path + TString("GEM_Y0_middle.txt"), Y0_mid);
53 ReadAndPut(path + TString("GEM_X1_middle.txt"), X1_mid);
54 ReadAndPut(path + TString("GEM_Y1_middle.txt"), Y1_mid);
55 ReadAndPut(path + TString("GEM_X0_Big_Left_period_5.txt"), X0_big_l);
56 ReadAndPut(path + TString("GEM_X0_Big_Right_period_5.txt"), X0_big_r);
57 ReadAndPut(path + TString("GEM_X1_Big_Left_period_5.txt"), X1_big_l);
58 ReadAndPut(path + TString("GEM_X1_Big_Right_period_5.txt"), X1_big_r);
59 ReadAndPut(path + TString("GEM_Y0_Big_Left_period_5.txt"), Y0_big_l);
60 ReadAndPut(path + TString("GEM_Y0_Big_Right_period_5.txt"), Y0_big_r);
61 ReadAndPut(path + TString("GEM_Y1_Big_Left_period_5.txt"), Y1_big_l);
62 ReadAndPut(path + TString("GEM_Y1_Big_Right_period_5.txt"), Y1_big_r);
63
64 UInt_t period = 7;
65 UInt_t runMin = 1;
66 UInt_t runMax = 1e4;
67
68 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X_small", period, runMin, period, runMax, X_small);
69 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y_small", period, runMin, period, runMax, Y_small);
70 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X0_middle", period, runMin, period, runMax, X0_mid);
71 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y0_middle", period, runMin, period, runMax, Y0_mid);
72 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X1_middle", period, runMin, period, runMax, X1_mid);
73 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y1_middle", period, runMin, period, runMax, Y1_mid);
74 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X0_Big_Left", period, runMin, period, runMax, X0_big_l);
75 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X0_Big_Right", period, runMin, period, runMax, X0_big_r);
76 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X1_Big_Left", period, runMin, period, runMax, X1_big_l);
77 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_X1_Big_Right", period, runMin, period, runMax, X1_big_r);
78 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y0_Big_Left", period, runMin, period, runMax, Y0_big_l);
79 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y0_Big_Right", period, runMin, period, runMax, Y0_big_r);
80 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y1_Big_Left", period, runMin, period, runMax, Y1_big_l);
81 UniDetectorParameter::CreateDetectorParameter("GEM", "GEM_Y1_Big_Right", period, runMin, period, runMax, Y1_big_r);
82
83 // clean memory after work
84 for (int i = 0; i < X_small.size(); i++)
85 delete X_small[i];
86 for (int i = 0; i < Y_small.size(); i++)
87 delete Y_small[i];
88 for (int i = 0; i < X0_mid.size(); i++)
89 delete X0_mid[i];
90 for (int i = 0; i < Y0_mid.size(); i++)
91 delete Y0_mid[i];
92 for (int i = 0; i < X1_mid.size(); i++)
93 delete X1_mid[i];
94 for (int i = 0; i < Y1_mid.size(); i++)
95 delete Y1_mid[i];
96 for (int i = 0; i < X0_big_l.size(); i++)
97 delete X0_big_l[i];
98 for (int i = 0; i < X0_big_r.size(); i++)
99 delete X0_big_r[i];
100 for (int i = 0; i < X1_big_l.size(); i++)
101 delete X1_big_l[i];
102 for (int i = 0; i < X1_big_r.size(); i++)
103 delete X1_big_r[i];
104 for (int i = 0; i < Y0_big_l.size(); i++)
105 delete Y0_big_l[i];
106 for (int i = 0; i < Y0_big_r.size(); i++)
107 delete Y0_big_r[i];
108 for (int i = 0; i < Y1_big_l.size(); i++)
109 delete Y1_big_l[i];
110 for (int i = 0; i < Y1_big_r.size(); i++)
111 delete Y1_big_r[i];
112
113 if (return_error)
114 cout << "\nMacro finished with errors" << endl;
115 else
116 cout << "\nMacro finished successfully" << endl;
117}
118
119void ReadAndPut(TString fName, vector<UniValue*>& pValues)
120{
121 UInt_t ch = 0;
122 UInt_t strip = 0;
123 ifstream inFile(fName.Data());
124 if (!inFile.is_open())
125 cout << "Error opening map-file (" << fName << ")!" << endl;
126
127 while (inFile >> ch)
128 AssignMapStructure(pValues, strip++, ch);
129}
int i
Definition P4_F32vec4.h:22
unsigned int UInt_t
void add_GEM_local_mapping()
void AssignMapStructure(vector< UniValue * > &pArray, int i1, int i2)
void ReadAndPut(TString fName, vector< UniValue * > &pValues)
const char * Data() const
static UniDetectorParameter * CreateDetectorParameter(TString detector_name, int parameter_id, int start_period, int start_run, int end_period, int end_run, int value_key, unsigned char *parameter_value, Long_t size_parameter_value, TDatime *expiry_date)
add new detector parameter to the database