7 #include "TClonesArray.h" 11 #include "FairUnpack.h" 13 #include "SetupConfiguration.h" 15 #include "ERBeamTimeCommon.h" 20 ERUnpack(
const TString& detector_name);
22 virtual Bool_t Init(){
return kTRUE;}
23 virtual Bool_t Init(
const SetupConfiguration*, TChain& input_chain_of_events);
24 virtual Bool_t DoUnpack(Int_t* data, Int_t size);
26 TString DetectorName() {
return detector_name_; }
27 Bool_t IsInited() {
return inited_; }
29 virtual void ConnectToInputBranches(TChain& input_chain_of_events,
30 const std::vector<TString>& branch_names);
31 virtual void UnpackSignalFromStations() = 0;
32 virtual std::vector<TString> InputBranchNames()
const = 0;
33 void UnpackStation(SignalsAndChannelCount signals_from_station,
34 ChannelToSignal& channel_to_signal);
35 void UnpackAmpTimeStation(SignalsAndChannelCount signals_from_amplitude_station,
36 SignalsAndChannelCount signals_from_time_station,
37 ChannelToAmpTime& channel_to_signals,
38 bool skip_alone_channels =
true);
39 void UnpackAmpTimeTACStation(SignalsAndChannelCount signals_from_amplitude_station,
40 SignalsAndChannelCount signals_from_time_station,
41 SignalsAndChannelCount signals_from_tac_station,
42 ChannelToAmpTimeTac& channel_to_signals,
43 bool skip_alone_channels =
true);
44 const SetupConfiguration* setup_configuration_;
46 TString detector_name_;
47 std::map<TString, SignalsAndChannelCount> signals_from_stations_;
48 std::map<TString, TClonesArray*> digi_collections_;