MIDAS
Loading...
Searching...
No Matches
AdcSum Struct Reference
Inheritance diagram for AdcSum:
Collaboration diagram for AdcSum:

Public Member Functions

 AdcSum (TARunInfo *runinfo)
 
 ~AdcSum ()
 
void BeginRun (TARunInfo *runinfo)
 
void EndRun (TARunInfo *runinfo)
 
TAFlowEventAnalyze (TARunInfo *runinfo, TMEvent *event, TAFlags *flags, TAFlowEvent *flow)
 

Public Attributes

TH1DfAdcSum = NULL
 
TH1DfAdcAvg = NULL
 

Detailed Description

Definition at line 140 of file adcsum_module.cxx.

Constructor & Destructor Documentation

◆ AdcSum()

AdcSum::AdcSum ( TARunInfo runinfo)
inline

Definition at line 145 of file adcsum_module.cxx.

146 : TARunObject(runinfo)
147 {
148 printf("AdcSum::ctor!\n");
149
150 runinfo->fRoot->fOutputFile->cd(); // select correct ROOT directory
151
152 /* book ADC sum histo */
153 fAdcSum = new TH1D("ADCSUM", "ADC sum", 500, 0, 10000);
154
155 /* book ADC average in separate subfolder */
156 TDirectory *subdir = runinfo->fRoot->fOutputFile->mkdir("Average");
157 subdir->cd();
158
159 fAdcAvg = new TH1D("ADCAVG", "ADC average", 500000, 0, 10000);
160
161 runinfo->fRoot->fOutputFile->cd(); // select correct ROOT directory
162 }
RUNINFO runinfo
Definition analyzer.cxx:49
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
TH1D * fAdcSum
TH1D * fAdcAvg
Here is the call graph for this function:

◆ ~AdcSum()

AdcSum::~AdcSum ( )
inline

Definition at line 164 of file adcsum_module.cxx.

165 {
166 printf("AdcSum::dtor!\n");
167 }
Here is the call graph for this function:

Member Function Documentation

◆ Analyze()

TAFlowEvent * AdcSum::Analyze ( TARunInfo runinfo,
TMEvent event,
TAFlags flags,
TAFlowEvent flow 
)
inline

Definition at line 179 of file adcsum_module.cxx.

180 {
181 printf("Analyze, run %d, event serno %d, id 0x%04x, data size %d\n", runinfo->fRunNo, event->serial_number, (int)event->event_id, event->data_size);
182
183 TMBank* bcadc = event->FindBank("CADC");
184 if (!bcadc)
185 return flow;
186
187 float* cadc = (float*)event->GetBankData(bcadc);
188 if (!cadc)
189 return flow;
190
191 int n_adc = bcadc->data_size / sizeof(float);
192 if (n_adc == 0)
193 return flow;
194
196
197 /* sum all channels above threashold */
198 asum.sum = 0.f;
199 int j = 0;
200 for (int i = 0; i < n_adc; i++)
202 asum.sum += cadc[i];
203 j++;
204 }
205
206 /* calculate ADC average */
207 asum.average = j > 0 ? asum.sum / j : 0;
208
209 /* evaluate tests */
210 //SET_TEST(low_sum, asum.sum < 1000);
211 //SET_TEST(high_sum, asum.sum > 1000);
212
213 /* fill sum histo */
214 fAdcSum->Fill(asum.sum, 1);
215
216 /* fill average histo */
217 fAdcAvg->Fill(asum.average);
218
219 /* create ADC sum bank */
220 event->AddBank("ASUM", TID_STRUCT, (char*)&asum, sizeof(asum));
221
222 return flow;
223 }
ADC_SUMMING_PARAM adc_summing_param
#define TID_STRUCT
Definition midas.h:348
INT i
Definition mdump.cxx:32
INT j
Definition odbhist.cxx:40
float adc_threshold
Definition experim.h:77
float sum
Definition experim.h:109
Here is the call graph for this function:

◆ BeginRun()

void AdcSum::BeginRun ( TARunInfo runinfo)
inline

Definition at line 169 of file adcsum_module.cxx.

170 {
171 printf("BeginRun, run %d, file %s\n", runinfo->fRunNo, runinfo->fFileName.c_str());
172 }
Here is the call graph for this function:

◆ EndRun()

void AdcSum::EndRun ( TARunInfo runinfo)
inline

Definition at line 174 of file adcsum_module.cxx.

175 {
176 printf("EndRun, run %d\n", runinfo->fRunNo);
177 }
Here is the call graph for this function:

Member Data Documentation

◆ fAdcAvg

TH1D* AdcSum::fAdcAvg = NULL

Definition at line 143 of file adcsum_module.cxx.

◆ fAdcSum

TH1D* AdcSum::fAdcSum = NULL

Definition at line 142 of file adcsum_module.cxx.


The documentation for this struct was generated from the following file: