Pan: The Parity Analyzer -- Class Index

Pan classes only
All classes


+
class TaDevice
-
#include "TaDevice.hh"
Display options:
Show inherited
Show non-public

class TaDevice


HALL A C++/ROOT Parity Analyzer  Pan

        TaDevice.cc   (implementation file)

 Author:  R. Holmes <http://mep1.phy.syr.edu/~rsholmes>, A. Vacheret <http://www.jlab.org/~vacheret>, R. Michaels <http://www.jlab.org/~rom>, K.Paschke
 @(#)pan/src:$Name:  $:$Id: TaDevice.cc,v 1.47 2005/07/11 03:07:58 moffit Exp $


Function Members (Methods)

public:
TaDevice()
TaDevice(const TaDevice& copy)
virtual~TaDevice()
static TClass*Class()
voidFindHeaders(const Int_t& roc, const Int_t& ipt, const Int_t& data)
Int_tGetCalIndex(const Int_t& key) const
Int_tGetChanNum(const Int_t& index) const
Int_tGetCorrIndex(const Int_t& key) const
Int_tGetCrate(const Int_t& index) const
Double_tGetDacSlope(const Int_t& index) const
Int_tGetDevNum(const Int_t& index) const
Int_tGetEvPointer(const Int_t& index) const
Int_tGetKey(string keystr) const
stringGetKey(Int_t key) const
map<string,Int_t>GetKeyList() const
Int_tGetNumRaw() const
Int_tGetOffset(const Int_t& key) const
Double_tGetPedestal(const Int_t& index) const
Int_tGetRawIndex(const Int_t& key) const
Int_tGetRawKey(const Int_t& index) const
voidInit(TaDataBase& db)
virtual TClass*IsA() const
Bool_tIsAdc(const Int_t& key) const
Bool_tIsDaqFlag(const Int_t& key) const
Bool_tIsRotated(const Int_t& key) const
Bool_tIsScaler(const Int_t& key) const
Bool_tIsTimeboard(const Int_t& key) const
Bool_tIsTir(const Int_t& key) const
Bool_tIsUsed(const Int_t& key) const
TaDevice&operator=(const TaDevice& assign)
voidPrintHeaders()
voidSetUsed(const Int_t& key) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
protected:
Int_tAddRawKey(string keyname)
voidAddTiedDevices(TaKeyMap& keymap)
voidBpmDefRotate()
voidInitKeyList()
private:
voidCreate(const TaDevice&)
voidUncreate()

Data Members

protected:
Double_t*fAdcPed
Int_t*fAdcptr
Int_t*fChanNum
Int_t*fCrate
Double_t*fDacSlope
Int_t*fDaqptr
Int_t*fDevNum
Int_t*fEvPointer
Int_t*fIsRotated
Int_t*fIsUsed
map<string,Int_t>fKeyToIdx
Int_tfNtied
Int_tfNumRaw
Int_t*fRawKeys
Int_t*fReadOut
vector<string>fRotateList
Double_t*fScalPed
Int_t*fScalptr
Int_t*fTbdptr
vector<TaKeyMap>fTiedKeys
Int_t*fTirptr
UInt_tfgAdcHeader
UInt_tfgAdcMask
UInt_tfgDaqHeader
UInt_tfgDaqMask
UInt_tfgScalHeader
UInt_tfgScalMask
UInt_tfgTbdHeader
UInt_tfgTbdMask
UInt_tfgTirHeader
UInt_tfgTirMask

Class Charts

Inheritance Chart:
TaDevice

Function documentation

TaDevice()
~TaDevice()
TaDevice(const TaDevice& rhs)
TaDevice & operator=(const TaDevice &rhs)
map<string, Int_t> GetKeyList()
void Init(TaDataBase& db)
Initialized the key mapping to integers, and
 the list of raw data defined in the database.
 The database defines the channel mapping, but the
 keys in the database must match the fKeyToIdx map.
 Set up rotated BPMs.
 Some devices like 'bpm', 'bcm', 'lumi' can be tied
 to others like 'adc', 'scaler' according to rules.
void AddTiedDevices(TaKeyMap& keymap)
To potentially add this device to the list of derived types.
 Note, e.g. "bpm" can be tied to an "adc", but not vice versa.
void FindHeaders(const Int_t& roc, const Int_t& ipt, const Int_t& data)
 Find the pointer to the header for the various devices.
 The "fundamental" devices are ADC, SCALER, TIMEBOARD, TIR.
roc==0 is an error and probably means CODA is not set up
 correctly. Although roc==0 is logically possible in CODA
 it is forbidden because of database conventions.
void PrintHeaders()
  Printout for debugging multiroc decoding.
void BpmDefRotate()
Build default list of rotated BPMs.
 BPMs listed here are rotated by 45 degrees.  The others are not
 rotated, they are up/down.  This can be over-ridden by the
 database:  by convention a device-name (3rd column) can have
 suffix "_r" or "_ur" to force rotation or unrotation.  Leaving
 out this suffix will result in the default behavior here.
 The suffix "_r" or "_ur" are otherwise IGNORED.
Example of device-name in db file:
     "bpm8"    --> rotated (default here)
     "bpm8_r"  --> still rotated
     "bpm8_ur" --> unrotated.
Int_t AddRawKey(string keyname)
 Add a key to the list of raw data.
Int_t GetKey(string keystr)
 Returns the integer key corresponding to the string key name.
 Users of this class who have a list of string keys should upon
initialization of the code call this method to determine the
corresponding list of integer keys.  Then use those integers.
 The string keys are still useful, however, to define names of
variables in the tree, and to initialize datamap from database,
 but one should *NOT* use this method inside an event loop !!
string GetKey(Int_t key)
Double_t GetPedestal(const Int_t& key)
Int_t GetRawIndex(const Int_t& key)
 Return a pointer to the raw ADC or SCALER data corresponding to key
Int_t GetCalIndex(const Int_t& key)
 Return a pointer to the calibrated ADC or SCALER data corresponding to key
Int_t GetCorrIndex(const Int_t& key)
 Return a pointer to the corrected ADC or SCALER data
  (before pedestal subtraction) corresponding to key
void InitKeyList()
 Initialize the mapping between key names and integers.
 Users of device data should access the data using the integer keys.
 Example of how to get data:
GetData(IBCM1R);

 I tried to anticipate all future devices, but if you need
 to add a new one, put it here (another 'insert' line) and
 define the key in DevTypes.hh (genDevTypes.pl)
void Create(const TaDevice& rhs)
void Uncreate()
Int_t GetNumRaw()
{ return fNumRaw; }
Int_t GetRawKey(const Int_t& index)
Int_t GetEvPointer(const Int_t& index)
Int_t GetCrate(const Int_t& index)
Int_t GetOffset(const Int_t& key)
Double_t GetDacSlope(const Int_t& index)
Int_t GetDevNum(const Int_t& index)
Int_t GetChanNum(const Int_t& index)
Bool_t IsUsed(const Int_t& key)
Bool_t IsRotated(const Int_t& key)
Bool_t IsAdc(const Int_t& key)
Bool_t IsScaler(const Int_t& key)
Bool_t IsTimeboard(const Int_t& key)
Bool_t IsTir(const Int_t& key)
Bool_t IsDaqFlag(const Int_t& key)
void SetUsed(const Int_t& key)

Author: R. Holmes , A. Vacheret , R. Michaels , K.Paschke
Last update: pan/src:$Name: $:$Id: TaDevice.cc,v 1.47 2005/07/11 03:07:58 moffit Exp $

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.