1#ifndef Podd_THaDetMap_h_
2#define Podd_THaDetMap_h_
38#if __clang__ || __GNUC__ > 4
64 {
return !(*
this==rhs); }
119 virtual Int_t Fill(
const std::vector<Int_t>& values,
UInt_t flags = 0 );
135 virtual void Reset();
164 virtual void reset();
168 explicit virtual operator bool()
const {
172 bool operator!()
const {
return !
static_cast<bool>(*this); }
178 module{nullptr},
type{
Decoder::ChannelType::kUndefined},
185 else if( mod->
IsTDC() )
223 std::string
msg(
const char* txt )
const;
229 bool do_init =
true );
232 explicit virtual operator bool()
const {
233 return (Iterator::operator
bool() and
fIHit >= 0 and
237 virtual void reset();
253 if( !
d )
return false;
258 if( !
d )
return false;
264 return d->GetModel();
268 if( i >=
fMap.size() )
return false;
273 if( i >=
fMap.size() )
return false;
278 if( i >=
fMap.size() )
return 0;
284 if( i >=
fMap.size() )
return 0;
TObject * clone(const char *newname) const override
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Decoder::ChannelType modtype
void set_crate_slot(const THaDetMap::Module *mod)
Decoder::Module *Decoder::ChannelType type
const THaEvData & fEvData
const HitInfo_t & operator*() const
const THaDetMap::Module * fMod
std::string msg(const char *txt) const
const HitInfo_t * operator->() const
const Iterator operator++(int)
virtual ~Iterator()=default
virtual Iterator & operator++()
bool operator==(const Module &rhs) const
Int_t ConvertToLogicalChannel(UInt_t chan) const
Bool_t IsCommonStart() const
void SetResolution(Double_t resolution)
void SetTDCMode(Bool_t cstart)
void SetModel(Int_t model)
Module(Module &rhs)=default
Module & operator=(Module &rhs)=default
bool operator!=(const Module &rhs) const
Decoder::ChannelType type
virtual ~MultiHitIterator()=default
MultiHitIterator()=delete
virtual Iterator & operator++()
virtual Module * Find(UInt_t crate, UInt_t slot, UInt_t chan)
Int_t GetModel(UInt_t i) const
void GetMinMaxChan(UInt_t &min, UInt_t &max, ECountMode mode=kLogicalChan) const
virtual Int_t AddModule(UInt_t crate, UInt_t slot, UInt_t chan_lo, UInt_t chan_hi, UInt_t first=0, Int_t model=0, Int_t refindex=-1, Int_t refchan=-1, UInt_t plane=0, UInt_t signal=0)
Module * uGetModule(UInt_t i) const
virtual ~THaDetMap()=default
virtual void Print(Option_t *opt="") const
void CopyMap(const ModuleVec_t &map)
THaDetMap::Iterator MakeIterator(const THaEvData &evdata)
void SetStartAtZero(Bool_t value)
UInt_t GetNchan(UInt_t i) const
std::vector< std::unique_ptr< Module > > ModuleVec_t
Bool_t IsTDC(UInt_t i) const
THaDetMap::MultiHitIterator MakeMultiHitIterator(const THaEvData &evdata)
virtual Int_t Fill(const std::vector< Int_t > &values, UInt_t flags=0)
Module * GetModule(UInt_t i) const
UInt_t GetTotNumChan() const
Bool_t IsADC(UInt_t i) const
THaDetMap & operator=(const THaDetMap &)