BmnRoot
Loading...
Searching...
No Matches
BmnSiBTRaw2Digit.h
Go to the documentation of this file.
1#ifndef BMNSIBTRAW2DIGIT_H
2#define BMNSIBTRAW2DIGIT_H
3
4#include "BmnADCDigit.h"
5#include "BmnAdcProcessor.h"
6#include "BmnEnums.h"
7#include "BmnSiBTDigit.h"
8#include "TClonesArray.h"
9#include "TColor.h"
10#include "TMath.h"
11#include "TString.h"
12#include "TTree.h"
13
14#include <BmnEventHeader.h>
15#include <BmnFunctionSet.h>
16#include <TSystem.h>
17#include <fstream>
18#include <iostream>
19#include <list>
20#include <map>
21#include <vector>
22
23using std::map;
24using std::vector;
25using namespace TMath;
26
27struct BmnSiBTMapping
28{
29 Short_t layer; // X = 0 or X' = 1
30 UInt_t serial;
31 Short_t module;
32 Short_t channel;
33 Int_t strip_shift;
34 Char_t channel_name;
35 Short_t station;
37};
38typedef map<Int_t, BmnSiBTMapping*> InChanMapSiBT;
39
41{
42 public:
43 BmnSiBTRaw2Digit(Int_t period, Int_t run, TString MapFileName, BmnSetup bmnSetup = kBMNSETUP);
45
46 BmnStatus FillEvent(TClonesArray* adc, TClonesArray* sts);
47 BmnStatus FillProfiles(TClonesArray* adc);
49
50 vector<BmnSiBTMapping*>& GetMap() { return fMap; };
51
52 private:
53 vector<BmnSiBTMapping*> fMap;
54 map<UInt_t, InChanMapSiBT> fOuterMap; // serial map
55 map<PlMapKey, BmnSiBTMapping> fGlobalMap;
56 map<Char_t, StripMap> fLocalMaps;
57 TString fMapFileName;
58
59 unique_ptr<BmnSiBTStationSet> fSiBTStationSet;
60
61 BmnStatus ReadLocalMap(string& FileName, StripMap& Strips);
62 BmnStatus ReadLocalMaps();
63 BmnStatus ReadMapFile();
64
65 inline Int_t MapStrip(BmnSiBTMapping& v, Short_t& iSmpl)
66 {
67 return v.strips->at(iSmpl) + v.strip_shift;
68 // return (iCh - v->channel) * GetNSamples() + iSmpl;
69 }
70 void ProcessAdc(TClonesArray* silicon, Bool_t doFill);
71
72 ClassDef(BmnSiBTRaw2Digit, 1);
73};
74
75#endif /* BMNSIBTRAW2DIGIT_H */
__m128 v
Definition P4_F32vec4.h:1
BmnStatus
Definition BmnEnums.h:24
BmnSetup
Definition BmnEnums.h:89
@ kBMNSETUP
Definition BmnEnums.h:90
BmnStatus FillNoisyChannels()
BmnSiBTRaw2Digit(Int_t period, Int_t run, TString MapFileName, BmnSetup bmnSetup=kBMNSETUP)
vector< BmnSiBTMapping * > & GetMap()
BmnStatus FillEvent(TClonesArray *adc, TClonesArray *sts)
virtual ~BmnSiBTRaw2Digit()
BmnStatus FillProfiles(TClonesArray *adc)
vector< Int_t > StripMap
Define enumerations used in tracking.
map< Int_t, BmnSiBTMapping * > InChanMapSiBT
-clang-format
Short_t Short_t channel