JAPAn
Just Another Parity Analyzer
Loading...
Searching...
No Matches
QwMollerDetector Class Reference

Subsystem for analyzing Moller detector readout. More...

#include <QwMollerDetector.h>

+ Inheritance diagram for QwMollerDetector:
+ Collaboration diagram for QwMollerDetector:

Public Member Functions

 QwMollerDetector (const TString &name)
 Constructor with name.
 
 QwMollerDetector (const QwMollerDetector &source)
 Copy constructor.
 
 ~QwMollerDetector () override
 Virtual destructor.
 
void ProcessOptions (QwOptions &options) override
 Process the command line options.
 
Int_t LoadChannelMap (TString mapfile) override
 
Int_t LoadInputParameters (TString pedestalfile) override
 Mandatory parameter file definition.
 
Int_t LoadEventCuts (TString &filename)
 
Bool_t SingleEventCuts ()
 
Int_t ProcessConfigurationBuffer (const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
 
Int_t ProcessConfigurationBuffer (UInt_t ev_type, const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words)
 
Int_t ProcessEvBuffer (const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
 TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.
 
Int_t ProcessEvBuffer (UInt_t ev_type, const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
 
void ClearEventData () override
 
void ProcessEvent () override
 
void ConstructHistograms (TDirectory *folder, TString &prefix) override
 Construct the histograms for this subsystem in a folder with a prefix.
 
void FillHistograms () override
 Fill the histograms for this subsystem.
 
VQwSubsystemoperator= (VQwSubsystem *value) override
 Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value)
 
VQwSubsystemoperator+= (VQwSubsystem *value) override
 
VQwSubsystemoperator-= (VQwSubsystem *value) override
 
void Ratio (VQwSubsystem *value1, VQwSubsystem *value2) override
 
void Scale (Double_t) override
 
void AccumulateRunningSum (VQwSubsystem *value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) override
 Update the running sums for devices.
 
void DeaccumulateRunningSum (VQwSubsystem *value, Int_t ErrorMask=0xFFFFFFF) override
 remove one entry from the running sums for devices
 
void CalculateRunningAverage () override
 Calculate the average for all good events.
 
Int_t LoadEventCuts (TString filename) override
 Optional event cut file.
 
Bool_t ApplySingleEventCuts () override
 Apply the single event cuts.
 
void IncrementErrorCounters () override
 Increment the error counters.
 
void PrintErrorCounters () const override
 
UInt_t GetEventcutErrorFlag () override
 Return the error flag to the top level routines related to stability checks and ErrorFlag updates.
 
Bool_t CheckForBurpFail (const VQwSubsystem *subsys) override
 Report the number of events failed due to HW and event cut failures.
 
void UpdateErrorFlag (const VQwSubsystem *ev_error) override
 update the error flag in the subsystem level from the top level routines related to stability checks. This will uniquely update the errorflag at each channel based on the error flag in the corresponding channel in the ev_error subsystem
 
void ConstructBranchAndVector (TTree *, TString &, QwRootTreeBranchVector &) override
 Construct the branch and tree vector.
 
void ConstructBranch (TTree *tree, TString &prefix) override
 Construct the branch and tree vector.
 
void ConstructBranch (TTree *tree, TString &prefix, QwParameterFile &trim_file) override
 Construct the branch and tree vector based on the trim file.
 
void FillTreeVector (QwRootTreeBranchVector &values) const override
 Fill the tree vector.
 
Bool_t Compare (VQwSubsystem *source)
 
void print ()
 
void PrintValue () const override
 Print values of all channels.
 
float * GetRawChannelArray ()
 
Int_t GetChannelIndex (TString channelName, UInt_t module_number)
 
float GetDataForChannelInModule (Int_t module_number, Int_t channel_index)
 
float GetDataForChannelInModule (Int_t module_number, TString channel_name)
 
virtual void ConstructHistograms ()
 Construct the histograms for this subsystem.
 
virtual void ConstructHistograms (TDirectory *folder)
 Construct the histograms for this subsystem in a folder.
 
virtual void ConstructHistograms (TString &prefix)
 Construct the histograms for this subsystem with a prefix.
 
virtual void ConstructBranchAndVector (TTree *tree, QwRootTreeBranchVector &values)
 Construct the branch and tree vector.
 
- Public Member Functions inherited from VQwSubsystemParity
 VQwSubsystemParity (const TString &name)
 Constructor with name.
 
 VQwSubsystemParity (const VQwSubsystemParity &source)
 Copy constructor.
 
 ~VQwSubsystemParity () override
 Default destructor.
 
virtual void FillDB_MPS (QwParityDB *, TString)
 Fill the database with MPS-based variables Note that most subsystems don't need to do this.
 
virtual void FillDB (QwParityDB *, TString)
 Fill the database.
 
virtual void FillErrDB (QwParityDB *, TString)
 
virtual void Sum (VQwSubsystem *value1, VQwSubsystem *value2)
 
virtual void Difference (VQwSubsystem *value1, VQwSubsystem *value2)
 
Int_t LoadEventCuts (TString filename) override
 Load the event cuts file.
 
virtual void LoadEventCuts_Init ()
 
virtual void LoadEventCuts_Line (QwParameterFile &, TString &, Int_t &)
 
virtual void LoadEventCuts_Fin (Int_t &)
 
virtual UInt_t UpdateErrorFlag ()
 Uses the error flags of contained data elements to update Returns the error flag to the top level routines related to stability checks and ErrorFlag updates.
 
virtual void Blind (const QwBlinder *)
 Blind the asymmetry of this subsystem.
 
virtual void Blind (const QwBlinder *, const VQwSubsystemParity *)
 Blind the difference of this subsystem.
 
virtual void WritePromptSummary (QwPromptSummary *, TString)
 
virtual Bool_t CheckForEndOfBurst () const
 
virtual void LoadMockDataParameters (TString)
 
- Public Member Functions inherited from VQwSubsystem
 VQwSubsystem (const TString &name)
 Constructor with name.
 
 VQwSubsystem (const VQwSubsystem &orig)
 Copy constructor by object.
 
 ~VQwSubsystem () override
 Default destructor.
 
TString GetName () const
 
Bool_t HasDataLoaded () const
 
VQwSubsystemGetSibling (const std::string &name) const
 Get the sibling with specified name.
 
virtual std::vector< TString > GetParamFileNameList ()
 
virtual std::map< TString, TString > GetDetectorMaps ()
 
Bool_t PublishByRequest (TString) override
 Try to publish an internal variable matching the submitted name.
 
Bool_t PublishInternalValues () const override
 Publish all variables of the subsystem.
 
virtual Int_t LoadDetectorMaps (QwParameterFile &file)
 Parse parameter file to find the map files.
 
virtual Int_t LoadGeometryDefinition (TString)
 Optional geometry definition.
 
virtual Int_t LoadCrosstalkDefinition (TString)
 Optional crosstalk definition.
 
void SetEventTypeMask (const UInt_t mask)
 Set event type mask.
 
UInt_t GetEventTypeMask () const
 Get event type mask.
 
virtual void ExchangeProcessedData ()
 Request processed data from other subsystems for internal use in the second event processing stage. Not all derived classes will require data from other subsystems.
 
virtual void ProcessEvent_2 ()
 Process the event data again, including data from other subsystems. Not all derived classes will require a second stage of event data processing.
 
virtual void AtEndOfEventLoop ()
 Perform actions at the end of the event loop.
 
virtual void RandomizeEventData (int=0, double=0.0)
 
virtual void EncodeEventData (std::vector< UInt_t > &)
 
virtual void ConstructObjects ()
 Construct the objects for this subsystem.
 
virtual void ConstructObjects (TDirectory *folder)
 Construct the objects for this subsystem in a folder.
 
virtual void ConstructObjects (TString &prefix)
 Construct the objects for this subsystem with a prefix.
 
virtual void ConstructObjects (TDirectory *, TString &)
 Construct the objects for this subsystem in a folder with a prefix.
 
virtual void ConstructTree ()
 Construct the tree for this subsystem.
 
virtual void ConstructTree (TDirectory *folder)
 Construct the tree for this subsystem in a folder.
 
virtual void ConstructTree (TString &prefix)
 Construct the tree for this subsystem with a prefix.
 
virtual void ConstructTree (TDirectory *, TString &)
 Construct the tree for this subsystem in a folder with a prefix.
 
virtual void FillTree ()
 Fill the tree for this subsystem.
 
virtual void DeleteTree ()
 Delete the tree for this subsystem.
 
virtual void PrintInfo () const
 Print some information about the subsystem.
 
virtual void PrintDetectorMaps (Bool_t status) const
 
void GetMarkerWordList (const ROCID_t roc_id, const BankID_t bank_id, std::vector< UInt_t > &marker) const
 
std::vector< ROCID_tGetROCIds () const
 
- Public Member Functions inherited from MQwHistograms
void ShareHistograms (const MQwHistograms *source)
 Share histogram pointers between objects.
 
- Public Member Functions inherited from MQwPublishable_child< QwSubsystemArray, VQwSubsystem >
 MQwPublishable_child ()
 Default constructor Initializes the child object and sets up self-reference for publishing.
 
 MQwPublishable_child (const MQwPublishable_child &source)
 Copy constructor.
 
virtual ~MQwPublishable_child ()
 Virtual destructor.
 
void SetParent (QwSubsystemArray *parent)
 Set the parent container for this child object.
 
QwSubsystemArrayGetParent () const
 Get the parent container for this child object.
 
- Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwMollerDetector >
 ~MQwCloneable () override
 Virtual destructor.
 
VQwSubsystemClone () const override
 Concrete clone method.
 
const VQwFactory< VQwSubsystem > * Factory () const override
 Factory getter.
 
- Public Member Functions inherited from VQwCloneable< VQwSubsystem >
virtual ~VQwCloneable ()
 Virtual destructor.
 
std::string GetClassName () const
 Get demangled name of this class.
 

Protected Attributes

std::vector< QwMollerChannelIDfMollerChannelID
 
std::vector< std::vector< QwSTR7200_Channel > > fSTR7200_Channel
 
std::vector< std::vector< QwSTR7200_Channel > > fPrevious_STR7200_Channel
 
- Protected Attributes inherited from VQwSubsystem
std::vector< std::vector< TString > > fPublishList
 
TString fSystemName
 Name of this subsystem.
 
UInt_t fEventTypeMask
 Mask of event types.
 
Bool_t fIsDataLoaded
 Has this subsystem gotten data to be processed?
 
std::vector< TString > fDetectorMapsNames
 Names of loaded detector map files.
 
std::map< TString, TString > fDetectorMaps
 Map of file name to full path or content.
 
ROCID_t fCurrentROC_ID
 ROC ID that is currently being processed.
 
BankID_t fCurrentBank_ID
 Bank ID (and Marker word) that is currently being processed;.
 
std::vector< ROCID_tfROC_IDs
 Vector of ROC IDs associated with this subsystem.
 
std::vector< std::vector< BankID_t > > fBank_IDs
 Vector of Bank IDs per ROC ID associated with this subsystem.
 
std::vector< std::vector< std::vector< UInt_t > > > fMarkerWords
 Vector of marker words per ROC & subbank associated with this subsystem.
 
- Protected Attributes inherited from MQwHistograms
std::vector< TH1_ptrfHistograms
 Histograms associated with this data element.
 

Private Member Functions

 QwMollerDetector ()
 Private default constructor (not implemented, will throw linker error on use)
 

Private Attributes

Int_t fQwMollerErrorCount
 
UInt_t fNumberOfEvents
 

Static Private Attributes

static const Bool_t bDEBUG = kFALSE
 

Additional Inherited Members

- Static Public Member Functions inherited from VQwSubsystem
static void DefineOptions ()
 Define options function (note: no virtual static functions in C++)
 
- Static Public Member Functions inherited from MQwCloneable< VQwSubsystem, QwMollerDetector >
static VQwSubsystemCreate (const std::string &name)
 Object creation.
 
static QwMollerDetectorCast (QwMollerDetector *type)
 Object dynamic cast.
 
void ClearAllBankRegistrations ()
 Clear all registration of ROC and Bank IDs for this subsystem.
 
virtual Int_t RegisterROCNumber (const ROCID_t roc_id, const BankID_t bank_id=0)
 Tell the object that it will decode data from this ROC and sub-bank.
 
Int_t RegisterSubbank (const BankID_t bank_id)
 Tell the object that it will decode data from this sub-bank in the ROC currently open for registration.
 
Int_t RegisterMarkerWord (const UInt_t markerword)
 
void RegisterRocBankMarker (QwParameterFile &mapstr)
 
Int_t GetSubbankIndex () const
 
Int_t GetSubbankIndex (const ROCID_t roc_id, const BankID_t bank_id) const
 
void SetDataLoaded (Bool_t flag)
 
template<class T>
Int_t FindIndex (const std::vector< T > &myvec, const T value) const
 
Bool_t Compare (VQwSubsystem *source)
 
- Protected Member Functions inherited from MQwHistograms
 MQwHistograms ()
 Default constructor.
 
 MQwHistograms (const MQwHistograms &source)
 Copy constructor.
 
virtual ~MQwHistograms ()
 Virtual destructor.
 
MQwHistogramsoperator= (const MQwHistograms &value)
 
void Fill_Pointer (TH1_ptr hist_ptr, Double_t value)
 
void AddHistogram (TH1 *h)
 Register a histogram.
 
- Protected Member Functions inherited from MQwPublishable_child< QwSubsystemArray, VQwSubsystem >
Bool_t RequestExternalValue (const TString &name, VQwHardwareChannel *value) const
 Retrieve the variable name from other subsystem arrays Get the value corresponding to some variable name from a different data array.
 
const VQwHardwareChannelRequestExternalPointer (const TString &name) const
 Retrieve a pointer to an external variable by name Requests a direct pointer to a variable from sibling subsystems via the parent container.
 
Bool_t PublishInternalValue (const TString name, const TString desc, const VQwHardwareChannel *element) const
 Publish a variable from this child into the parent container.
 

Detailed Description

Subsystem for analyzing Moller detector readout.

Definition at line 71 of file QwMollerDetector.h.

Constructor & Destructor Documentation

◆ QwMollerDetector() [1/3]

QwMollerDetector::QwMollerDetector ( )
private

Private default constructor (not implemented, will throw linker error on use)

Referenced by AccumulateRunningSum(), Compare(), operator+=(), operator-=(), operator=(), QwMollerDetector(), and Ratio().

+ Here is the caller graph for this function:

◆ QwMollerDetector() [2/3]

QwMollerDetector::QwMollerDetector ( const TString & name)
inline

Constructor with name.

Definition at line 82 of file QwMollerDetector.h.

83 : VQwSubsystem(name), VQwSubsystemParity(name)
84 { };
VQwSubsystemParity()
Private default constructor (not implemented, will throw linker error on use)

References VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().

+ Here is the call graph for this function:

◆ QwMollerDetector() [3/3]

QwMollerDetector::QwMollerDetector ( const QwMollerDetector & source)
inline

Copy constructor.

Definition at line 86 of file QwMollerDetector.h.

87 : VQwSubsystem(source),VQwSubsystemParity(source),
89 { }
std::vector< std::vector< QwSTR7200_Channel > > fSTR7200_Channel

References fSTR7200_Channel, QwMollerDetector(), VQwSubsystem::VQwSubsystem(), and VQwSubsystemParity::VQwSubsystemParity().

+ Here is the call graph for this function:

◆ ~QwMollerDetector()

QwMollerDetector::~QwMollerDetector ( )
inlineoverride

Virtual destructor.

Definition at line 91 of file QwMollerDetector.h.

91{ };

Member Function Documentation

◆ AccumulateRunningSum()

void QwMollerDetector::AccumulateRunningSum ( VQwSubsystem * value,
Int_t count = 0,
Int_t ErrorMask = 0xFFFFFFF )
overridevirtual

Update the running sums for devices.

Implements VQwSubsystemParity.

Definition at line 319 of file QwMollerDetector.cc.

319 {
320 if (Compare(value)) {
321 QwMollerDetector* v = dynamic_cast<QwMollerDetector*>(value);
322
323 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
324 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
325 fSTR7200_Channel[i][j].AccumulateRunningSum(v->fSTR7200_Channel[i][j], count, ErrorMask);
326 }
327 }
328
329 }
330}
Bool_t Compare(VQwSubsystem *source)
QwMollerDetector()
Private default constructor (not implemented, will throw linker error on use)

References Compare(), fSTR7200_Channel, QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ ApplySingleEventCuts()

Bool_t QwMollerDetector::ApplySingleEventCuts ( )
overridevirtual

Apply the single event cuts.

Implements VQwSubsystemParity.

Definition at line 342 of file QwMollerDetector.cc.

342 {
343 std::cout << "QwMoller::ApplySingleEventCuts() ";
344 Bool_t test = kTRUE, test_1 = kTRUE;
345
346 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
347 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
348 test_1 = fSTR7200_Channel[i][j].ApplySingleEventCuts();
349 test &= test_1;
350 if(!test_1 && bDEBUG){
351 std::cout << "***** QwMoller::SingleEventCuts()->Channel[" << i << "][" << j << "]:" << fSTR7200_Channel[i][j].GetElementName() << std::endl;
352 }
353 }
354 }
355 return test;
356}
static const Bool_t bDEBUG

References bDEBUG, and fSTR7200_Channel.

◆ CalculateRunningAverage()

void QwMollerDetector::CalculateRunningAverage ( )
overridevirtual

Calculate the average for all good events.

Implements VQwSubsystemParity.

Definition at line 332 of file QwMollerDetector.cc.

332 {
333 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
334 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
335 fSTR7200_Channel[i][j].CalculateRunningAverage();
336 }
337 }
338}

References fSTR7200_Channel.

◆ CheckForBurpFail()

Bool_t QwMollerDetector::CheckForBurpFail ( const VQwSubsystem * subsys)
inlineoverridevirtual

Report the number of events failed due to HW and event cut failures.

Implements VQwSubsystemParity.

Definition at line 126 of file QwMollerDetector.h.

126 {
127 return kFALSE;
128 };

References VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ ClearEventData()

void QwMollerDetector::ClearEventData ( )
overridevirtual

Implements VQwSubsystem.

Definition at line 132 of file QwMollerDetector.cc.

132{}

◆ Compare()

Bool_t QwMollerDetector::Compare ( VQwSubsystem * source)

Definition at line 420 of file QwMollerDetector.cc.

420 {
421 //std::cout << "Beginning QwMollerDetector::Compare" << std::endl;
422
423 if (source == 0) return kFALSE;
424
425 Bool_t result = kTRUE;
426 if(typeid(*source) != typeid(*this)){
427 result = kFALSE;
428 std::cout << " Type mismatch! This is bypassed for now but should be fixed eventually." << std::endl;
429 } else { //same type, test for # of modules
430 QwMollerDetector* input = dynamic_cast<QwMollerDetector*>(source);
431 if(input->fSTR7200_Channel.size() != fSTR7200_Channel.size()){
432 result = kFALSE;
433 std::cout << " Not the same number of Modules" << std::endl;
434 }else { //same # modules, loop through and make sure each one has same amount of channels
435 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
436 if(input->fSTR7200_Channel[i].size() != fSTR7200_Channel[i].size()){
437 result = kFALSE;
438 std::cout << " Different number of channels in module " << i << std::endl;
439 }
440 }
441 }
442 }
443 return result;
444}

References fSTR7200_Channel, QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

Referenced by AccumulateRunningSum(), operator+=(), operator-=(), operator=(), and Ratio().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConstructBranch() [1/2]

void QwMollerDetector::ConstructBranch ( TTree * tree,
TString & prefix )
inlineoverridevirtual

Construct the branch and tree vector.

Construct the branches for this subsystem.

Parameters
treeOutput ROOT tree.
prefixName prefix for all branch names.

Implements VQwSubsystem.

Definition at line 136 of file QwMollerDetector.h.

136{ };

◆ ConstructBranch() [2/2]

void QwMollerDetector::ConstructBranch ( TTree * tree,
TString & prefix,
QwParameterFile & trim_file )
inlineoverridevirtual

Construct the branch and tree vector based on the trim file.

Construct the branches for this subsystem using a trim file.

Parameters
treeOutput ROOT tree.
prefixName prefix for all branch names.
trim_fileTrim file describing which branches to construct.

Implements VQwSubsystem.

Definition at line 137 of file QwMollerDetector.h.

137{ };

◆ ConstructBranchAndVector() [1/2]

void QwMollerDetector::ConstructBranchAndVector ( TTree * tree,
TString & prefix,
QwRootTreeBranchVector & values )
overridevirtual

Construct the branch and tree vector.

Construct the branch and fill the provided values vector.

Parameters
treeOutput ROOT tree to which branches are added.
prefixName prefix for all branch names.
valuesVector that will be filled by FillTreeVector.

Implements VQwSubsystem.

Definition at line 220 of file QwMollerDetector.cc.

220 {
221 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
222 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
223 fSTR7200_Channel[i][j].ConstructBranchAndVector(tree, prefix, values);
224 }
225 }
226}

References fSTR7200_Channel.

◆ ConstructBranchAndVector() [2/2]

virtual void VQwSubsystem::ConstructBranchAndVector ( TTree * tree,
QwRootTreeBranchVector & values )
inlinevirtual

Construct the branch and tree vector.

Reimplemented from VQwSubsystem.

Definition at line 303 of file VQwSubsystem.h.

303 {
304 TString tmpstr("");
305 ConstructBranchAndVector(tree,tmpstr,values);
306 };
void ConstructBranchAndVector(TTree *, TString &, QwRootTreeBranchVector &) override
Construct the branch and tree vector.

◆ ConstructHistograms() [1/4]

virtual void VQwSubsystem::ConstructHistograms ( )
inlinevirtual

Construct the histograms for this subsystem.

Reimplemented from VQwSubsystem.

Definition at line 270 of file VQwSubsystem.h.

270 {
271 TString tmpstr("");
272 ConstructHistograms((TDirectory*) NULL, tmpstr);
273 };
virtual void ConstructHistograms()
Construct the histograms for this subsystem.

◆ ConstructHistograms() [2/4]

virtual void VQwSubsystem::ConstructHistograms ( TDirectory * folder)
inlinevirtual

Construct the histograms for this subsystem in a folder.

Reimplemented from VQwSubsystem.

Definition at line 275 of file VQwSubsystem.h.

275 {
276 TString tmpstr("");
277 ConstructHistograms(folder, tmpstr);
278 };

◆ ConstructHistograms() [3/4]

void QwMollerDetector::ConstructHistograms ( TDirectory * folder,
TString & prefix )
overridevirtual

Construct the histograms for this subsystem in a folder with a prefix.

Implements VQwSubsystem.

Definition at line 204 of file QwMollerDetector.cc.

204 {
205 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
206 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
207 fSTR7200_Channel[i][j].ConstructHistograms(folder, prefix);
208 }
209 }
210}

References fSTR7200_Channel.

◆ ConstructHistograms() [4/4]

virtual void VQwSubsystem::ConstructHistograms ( TString & prefix)
inlinevirtual

Construct the histograms for this subsystem with a prefix.

Reimplemented from VQwSubsystem.

Definition at line 280 of file VQwSubsystem.h.

280 {
281 ConstructHistograms((TDirectory*) NULL, prefix);
282 };

◆ DeaccumulateRunningSum()

void QwMollerDetector::DeaccumulateRunningSum ( VQwSubsystem * value,
Int_t ErrorMask = 0xFFFFFFF )
inlineoverridevirtual

remove one entry from the running sums for devices

Implements VQwSubsystemParity.

Definition at line 117 of file QwMollerDetector.h.

117 {
118 };

References VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ FillHistograms()

void QwMollerDetector::FillHistograms ( )
overridevirtual

Fill the histograms for this subsystem.

Implements VQwSubsystem.

Definition at line 212 of file QwMollerDetector.cc.

212 {
213 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
214 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
215 fSTR7200_Channel[i][j].FillHistograms();
216 }
217 }
218}

References fSTR7200_Channel.

◆ FillTreeVector()

void QwMollerDetector::FillTreeVector ( QwRootTreeBranchVector & values) const
overridevirtual

Fill the tree vector.

Fill the tree export vector with the current event values.

Parameters
valuesOutput vector to be filled.

Implements VQwSubsystem.

Definition at line 228 of file QwMollerDetector.cc.

228 {
229 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
230 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
231 fSTR7200_Channel[i][j].FillTreeVector(values);
232 }
233 }
234}

References fSTR7200_Channel.

◆ GetChannelIndex()

Int_t QwMollerDetector::GetChannelIndex ( TString channelName,
UInt_t module_number )

Definition at line 395 of file QwMollerDetector.cc.

396{
397 Bool_t ldebug=kFALSE;
398
399 channelName.ToLower();
400
401 if (ldebug){
402 std::cout << "QwMollerDetector::GetDetectorIndex" << std::endl;
403 std::cout << "module_number: " << module_number << " name=" << channelName << std::endl;
404 }
405
406 Int_t result = -1;
407 for(size_t i = 0; i < fMollerChannelID.size(); i++){
408 QwMollerChannelID *nextChannel = &fMollerChannelID[i];
409 //std::cout << ' '<< nextChannel->fChannelName << '=' << channelName << ':' << (nextChannel->fChannelName == channelName) << std::endl;
410 if (nextChannel->fChannelName == channelName && nextChannel->fModuleNumber == module_number){
411 result = nextChannel->fIndex;
412 break;
413 }
414 }
415
416 return result;
417}
std::vector< QwMollerChannelID > fMollerChannelID

References QwMollerChannelID::fChannelName, QwMollerChannelID::fIndex, QwMollerChannelID::fModuleNumber, and fMollerChannelID.

Referenced by GetDataForChannelInModule().

+ Here is the caller graph for this function:

◆ GetDataForChannelInModule() [1/2]

float QwMollerDetector::GetDataForChannelInModule ( Int_t module_number,
Int_t channel_index )
inline

Definition at line 152 of file QwMollerDetector.h.

152 {
153 return fSTR7200_Channel[module_number][channel_index].GetValue();
154 }

References fSTR7200_Channel.

Referenced by GetDataForChannelInModule().

+ Here is the caller graph for this function:

◆ GetDataForChannelInModule() [2/2]

float QwMollerDetector::GetDataForChannelInModule ( Int_t module_number,
TString channel_name )
inline

Definition at line 156 of file QwMollerDetector.h.

156 {
157 return GetDataForChannelInModule(module_number, GetChannelIndex(channel_name,module_number));
158 }
float GetDataForChannelInModule(Int_t module_number, Int_t channel_index)
Int_t GetChannelIndex(TString channelName, UInt_t module_number)

References GetChannelIndex(), and GetDataForChannelInModule().

+ Here is the call graph for this function:

◆ GetEventcutErrorFlag()

UInt_t QwMollerDetector::GetEventcutErrorFlag ( )
overridevirtual

Return the error flag to the top level routines related to stability checks and ErrorFlag updates.

Implements VQwSubsystemParity.

Definition at line 369 of file QwMollerDetector.cc.

369 {
370 return 0;
371}

◆ GetRawChannelArray()

float * QwMollerDetector::GetRawChannelArray ( )

Definition at line 373 of file QwMollerDetector.cc.

373 {
374 size_t len = 0;
375 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
376 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
377 len++;
378 }
379 }
380 float *result = new float[len];
381
382 //float result[96];
383
384 int n = 0;
385 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
386 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
387 result[n+j] = fSTR7200_Channel[i][j].GetValue();
388 }
389 n=fSTR7200_Channel[i].size();
390 }
391
392 return result;
393}

References fSTR7200_Channel.

◆ IncrementErrorCounters()

void QwMollerDetector::IncrementErrorCounters ( )
inlineoverridevirtual

Increment the error counters.

Implements VQwSubsystemParity.

Definition at line 122 of file QwMollerDetector.h.

122{};

◆ LoadChannelMap()

Int_t QwMollerDetector::LoadChannelMap ( TString mapfile)
overridevirtual

Load the channel map

Parameters
mapfileMap file
Returns
Zero if successful

Implements VQwSubsystem.

Definition at line 36 of file QwMollerDetector.cc.

37{
38 TString varname, varvalue;
39 TString modtype, dettype, name, keyword;
40 Int_t modnum, channum;
41 Int_t wordsofar = 0;
42 Int_t currentsubbankindex = -1;
43
44 QwParameterFile mapstr(mapfile.Data()); // Open the file
45 fDetectorMapsNames.push_back(mapstr.GetParamFilename());
46 while (mapstr.ReadNextLine()) {
47 mapstr.TrimComment('!'); // Remove everything after a '!' character.
48 mapstr.TrimWhitespace(); // Get rid of leading and trailing whitespace (spaces or tabs).
49 if (mapstr.LineIsEmpty()) continue;
50
51 if (mapstr.HasVariablePair("=", varname, varvalue)) {
52 // This is a declaration line. Decode it.
53
54 varname.ToLower();
55
57 if(currentsubbankindex != GetSubbankIndex(fCurrentROC_ID,fCurrentBank_ID)){
58 currentsubbankindex = GetSubbankIndex(fCurrentROC_ID,fCurrentBank_ID);
59 }
60 } else {
61 Bool_t lineok = kTRUE;
62
63 // Break this line into tokens to process it.
64 modtype = mapstr.GetTypedNextToken<TString>();
65 modnum = mapstr.GetTypedNextToken<Int_t>();
66 channum = mapstr.GetTypedNextToken<Int_t>();
67 dettype = mapstr.GetTypedNextToken<TString>();
68 name = mapstr.GetTypedNextToken<TString>();
69 dettype.ToLower();
70 name.ToLower();
71
72 QwMollerChannelID newChannelID;
73 newChannelID.fModuleType = modtype;
74 newChannelID.fModuleNumber = modnum;
75 newChannelID.fChannelName = name;
76 newChannelID.fDetectorType = dettype;
77 newChannelID.fChannelNumber = channum;
78 newChannelID.fWordInSubbank = wordsofar;
79
80 if (modtype == "SIS3801"){
81 wordsofar += 1;
82 }else if(modtype == "SIS7200"){
83 wordsofar += 1;
84 }else if(modtype == "VQWK"){
85 wordsofar += 6;
86 }else {
87 std::cerr << "Unknown module type: " << modtype << ". Skipping channel " << name << '.' << std::endl;
88 lineok = kFALSE;
89 }
90
91 if (name.Length() == 0){
92 lineok = kFALSE;
93 }
94
95// add new modules until current number (modnum) is reached
96 std::size_t chan_size;
97 chan_size = fSTR7200_Channel.size();
98 while ((Int_t) chan_size <= modnum) {
99 std::vector<QwSTR7200_Channel> new_module;
100 fSTR7200_Channel.push_back(new_module);
101 }
102
103 //change this line if names are supposed to be exclusive, as of now,
104 newChannelID.fIndex = -1; // GetChannelIndex(name, modnum);
105
106 if (newChannelID.fIndex == -1 && lineok){
107 QwSTR7200_Channel localSTR7200_Channel(newChannelID.fChannelName);
108 fSTR7200_Channel[modnum].push_back(localSTR7200_Channel);
109// fSTR7200_Channel[modnum][fMollerChannelID.size() - 1].SetDefaultSampleSize(fSample_size);
110 newChannelID.fIndex = fSTR7200_Channel[modnum].size() - 1;
111 //std::cout << name << ':' << newChannelID.fIndex << ':' << wordsofar << '\n';
112 }
113
114 // Push a new record into the element array
115 if(lineok){
116 fMollerChannelID.push_back(newChannelID);
117 }
118 }
119 } // end looping over parameter file
120
122
123// for (size_t i = 0; i < fMollerChannelID.size(); i++){
124// std::cout << i << ": " << fMollerChannelID[i].fChannelName << ' ' << fMollerChannelID[i].fChannelNumber << ' ' << fMollerChannelID[i].fIndex << std::endl;
125// }
126
127 return 0;
128}
class QwScaler_Channel< 0xffffffff, 0 > QwSTR7200_Channel
BankID_t fCurrentBank_ID
Bank ID (and Marker word) that is currently being processed;.
Int_t GetSubbankIndex() const
std::vector< TString > fDetectorMapsNames
Names of loaded detector map files.
void RegisterRocBankMarker(QwParameterFile &mapstr)
ROCID_t fCurrentROC_ID
ROC ID that is currently being processed.
std::vector< std::vector< QwSTR7200_Channel > > fPrevious_STR7200_Channel

References QwMollerChannelID::fChannelName, QwMollerChannelID::fChannelNumber, VQwSubsystem::fCurrentBank_ID, VQwSubsystem::fCurrentROC_ID, VQwSubsystem::fDetectorMapsNames, QwMollerChannelID::fDetectorType, QwMollerChannelID::fIndex, QwMollerChannelID::fModuleNumber, QwMollerChannelID::fModuleType, fMollerChannelID, fPrevious_STR7200_Channel, fSTR7200_Channel, QwMollerChannelID::fWordInSubbank, QwParameterFile::GetParamFilename(), VQwSubsystem::GetSubbankIndex(), QwParameterFile::GetTypedNextToken(), QwParameterFile::HasVariablePair(), QwParameterFile::LineIsEmpty(), QwParameterFile::ReadNextLine(), VQwSubsystem::RegisterRocBankMarker(), QwParameterFile::TrimComment(), and QwParameterFile::TrimWhitespace().

+ Here is the call graph for this function:

◆ LoadEventCuts() [1/2]

Int_t QwMollerDetector::LoadEventCuts ( TString & filename)

◆ LoadEventCuts() [2/2]

Int_t QwMollerDetector::LoadEventCuts ( TString )
overridevirtual

Optional event cut file.

Reimplemented from VQwSubsystem.

Definition at line 340 of file QwMollerDetector.cc.

340{return 0;}

◆ LoadInputParameters()

Int_t QwMollerDetector::LoadInputParameters ( TString mapfile)
overridevirtual

Mandatory parameter file definition.

Implements VQwSubsystem.

Definition at line 131 of file QwMollerDetector.cc.

131{ return 0;}

◆ operator+=()

VQwSubsystem & QwMollerDetector::operator+= ( VQwSubsystem * value)
overridevirtual

Implements VQwSubsystemParity.

Definition at line 270 of file QwMollerDetector.cc.

270 {
271 //std::cout << "QwMollerDetector addition assignment (operator+=)" << std::endl;
272 if(Compare(value)){
273 QwMollerDetector* input = dynamic_cast<QwMollerDetector *> (value);
274 for(size_t i = 0; i < input->fSTR7200_Channel.size(); i++){
275 for(size_t j = 0; j < input->fSTR7200_Channel[i].size(); j++){
276 this->fSTR7200_Channel[i][j] += input->fSTR7200_Channel[i][j];
277 //std::cout << "+= " << this->fSTR7200_Channel[i][j].GetValue() << std::endl;
278 }
279 }
280 }
281 return *this;
282}

References Compare(), fSTR7200_Channel, QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ operator-=()

VQwSubsystem & QwMollerDetector::operator-= ( VQwSubsystem * value)
overridevirtual

Implements VQwSubsystemParity.

Definition at line 284 of file QwMollerDetector.cc.

284 {
285 //std::cout << "QwMollerDetector subtraction assignment (operator-=)" << std::endl;
286 if(Compare(value)){
287 QwMollerDetector* input = dynamic_cast<QwMollerDetector *> (value);
288 for(size_t i = 0; i < input->fSTR7200_Channel.size(); i++){
289 for(size_t j = 0; j < input->fSTR7200_Channel[i].size(); j++){
290 this->fSTR7200_Channel[i][j] -= input->fSTR7200_Channel[i][j];
291 }
292 }
293 }
294 return *this;
295}

References Compare(), fSTR7200_Channel, QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ operator=()

VQwSubsystem & QwMollerDetector::operator= ( VQwSubsystem * value)
overridevirtual

Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsystem *value) by VQwSubsystem::operator=(value)

Implements VQwSubsystemParity.

Definition at line 256 of file QwMollerDetector.cc.

256 {
257 // std::cout << "QwMollerDetector assignment (operator=)" << std::endl;
258 if(this != value && Compare(value)){
260 QwMollerDetector* input = dynamic_cast<QwMollerDetector *> (value);
261 for(size_t i = 0; i < input->fSTR7200_Channel.size(); i++){
262 for(size_t j = 0; j < input->fSTR7200_Channel[i].size(); j++){
263 this->fSTR7200_Channel[i][j] = input->fSTR7200_Channel[i][j];
264 }
265 }
266 }
267 return *this;
268}
virtual VQwSubsystem & operator=(VQwSubsystem *value)
Assignment Note: Must be called at the beginning of all subsystems routine call to operator=(VQwSubsy...

References Compare(), fSTR7200_Channel, VQwSubsystem::operator=(), QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ print()

void QwMollerDetector::print ( )

Definition at line 446 of file QwMollerDetector.cc.

446 {
447 std::cout << " " << fSTR7200_Channel.size() << std::endl;
448 UInt_t max = 0;
449 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
450 UInt_t next = fSTR7200_Channel[i].size();
451 if (next > max){
452 max = next;
453 }
454 }
455
456 for(size_t i = 0; i < max; i++){
457 std::cout << fMollerChannelID[i].fChannelName << ":\t" << (fMollerChannelID[i].fChannelName.Length() < 14 ? "\t" : "");
458 for(size_t j = 0; j < fSTR7200_Channel.size(); j++){
459
460 if ( i < fSTR7200_Channel[j].size()){
461 std::cout << "0x" << std::hex << (int)fSTR7200_Channel[j][i].GetValue() << std::dec;
462 } else {
463 std::cout << " ";
464 }
465 std::cout << "\t\t";
466 }
467 std::cout << std::endl;
468 }
469
470}

References fMollerChannelID, and fSTR7200_Channel.

◆ PrintErrorCounters()

void QwMollerDetector::PrintErrorCounters ( ) const
overridevirtual

Implements VQwSubsystemParity.

Definition at line 358 of file QwMollerDetector.cc.

358 {
359 std::cout << "***************QwMoller Error Summary****************" << std::endl;
360 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
361 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
362 fSTR7200_Channel[i][j].PrintErrorCounters();
363 }
364 }
365 std::cout << "total failed events: " << fQwMollerErrorCount << std::endl;
366 std::cout << "************End QwMoller Error Summary***************" << std::endl;
367}

References fQwMollerErrorCount, and fSTR7200_Channel.

◆ PrintValue()

void QwMollerDetector::PrintValue ( ) const
overridevirtual

Print values of all channels.

Reimplemented from VQwSubsystemParity.

Definition at line 472 of file QwMollerDetector.cc.

472 {
473 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
474 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
475 fSTR7200_Channel[i][j].PrintValue();
476 }
477 }
478}

References fSTR7200_Channel.

◆ ProcessConfigurationBuffer() [1/2]

Int_t QwMollerDetector::ProcessConfigurationBuffer ( const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
overridevirtual

Implements VQwSubsystem.

Definition at line 135 of file QwMollerDetector.cc.

136{
137 return 0;
138}

◆ ProcessConfigurationBuffer() [2/2]

Int_t QwMollerDetector::ProcessConfigurationBuffer ( UInt_t ev_type,
const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )

Definition at line 140 of file QwMollerDetector.cc.

141{
142 return 0;
143}

◆ ProcessEvBuffer() [1/2]

Int_t QwMollerDetector::ProcessEvBuffer ( const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
overridevirtual

TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware version.

Implements VQwSubsystem.

Definition at line 150 of file QwMollerDetector.cc.

151{
152 Int_t index = 0; // GetSubbankIndex(roc_id, bank_id);
153
154 if (index >= 0 && num_words > 0){
155 //we want to process this ROC
156
157 //Loop through all the channels as defined in map file.. should be 96 in standard 3 module, 32 channel Moller configuration
158 for(size_t i = 0; i < fMollerChannelID.size(); i++){
159
160 Int_t wordsLeft = num_words - fMollerChannelID[i].fWordInSubbank;
161
162// std::cout << std::dec << fMollerChannelID[i].fChannelName << ' ' << fMollerChannelID[i].fIndex << " in module " << fMollerChannelID[i].fModuleNumber << " has data " << std::hex << buffer[fMollerChannelID[i].fWordInSubbank] << std::dec << std::endl;
163
164 UInt_t mod_index = fMollerChannelID[i].fModuleNumber;
165 Int_t chan_index = fMollerChannelID[i].fIndex;
166// char *junk = new char[2];
167 if (mod_index < fSTR7200_Channel.size()) {
168 //mod_index should be less than 3, next_module is reference to vector where the Channel should be located
169 // std::cout << std::hex << buffer[fMollerChannelID[i].fWordInSubbank] << '\n';
170 //std::cin.getline(junk, 1);
171// std::cout << '(' << mod_index << ',' << chan_index << ')' << buffer[fMollerChannelID[i].fWordInSubbank] - fSTR7200_Channel[mod_index][chan_index].GetValue() << ' ' << std::endl;
172
173 fSTR7200_Channel[mod_index][chan_index].ProcessEvBuffer(&(buffer[fMollerChannelID[i].fWordInSubbank]), wordsLeft);
174 } else {
175 std::cout << "Problem reading buffer, incorrect structure of map file?" << std::endl;
176 }
177
178 }
179 }
180// std::cout << fSTR7200_Channel[2][0].GetValue() << std::endl;
181// print();
182 return 0;
183}

References fMollerChannelID, and fSTR7200_Channel.

Referenced by ProcessEvBuffer().

+ Here is the caller graph for this function:

◆ ProcessEvBuffer() [2/2]

Int_t QwMollerDetector::ProcessEvBuffer ( UInt_t ev_type,
const ROCID_t roc_id,
const BankID_t bank_id,
UInt_t * buffer,
UInt_t num_words )
overridevirtual

Reimplemented from VQwSubsystem.

Definition at line 145 of file QwMollerDetector.cc.

146{
147 return ProcessEvBuffer(roc_id, bank_id, buffer, num_words);
148}
Int_t ProcessEvBuffer(const ROCID_t roc_id, const BankID_t bank_id, UInt_t *buffer, UInt_t num_words) override
TODO: The non-event-type-aware ProcessEvBuffer routine should be replaced with the event-type-aware v...

References ProcessEvBuffer().

+ Here is the call graph for this function:

◆ ProcessEvent()

void QwMollerDetector::ProcessEvent ( )
overridevirtual

Implements VQwSubsystem.

Definition at line 187 of file QwMollerDetector.cc.

188{
189 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
190 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
191 fSTR7200_Channel[i][j].ProcessEvent();
192 QwSTR7200_Channel tempscaler(fSTR7200_Channel[i][j]);
193 tempscaler = fSTR7200_Channel[i][j];
195 fPrevious_STR7200_Channel[i][j] = tempscaler;
196 // Store a temporary copy of this channel's raw value as a scaler channel
197 // Subtract the corresponding fPrevious_STR7200_Channel from this scaler channel
198 // Put the temporary copy into the fPrevious_STR7200_Channel
199 }
200 }
201}

References fPrevious_STR7200_Channel, and fSTR7200_Channel.

◆ ProcessOptions()

void QwMollerDetector::ProcessOptions ( QwOptions & )
overridevirtual

Process the command line options.

Reimplemented from VQwSubsystem.

Definition at line 130 of file QwMollerDetector.cc.

130{}

◆ Ratio()

void QwMollerDetector::Ratio ( VQwSubsystem * value1,
VQwSubsystem * value2 )
overridevirtual

Implements VQwSubsystemParity.

Definition at line 297 of file QwMollerDetector.cc.

297 {
298 if (Compare(value1) && Compare(value2)) {
299 QwMollerDetector* v1 = dynamic_cast<QwMollerDetector *> (value1);
300 QwMollerDetector* v2 = dynamic_cast<QwMollerDetector *> (value2);
301
302 for(size_t i = 0; i < v1->fSTR7200_Channel.size(); i++){
303 for(size_t j = 0; j < v1->fSTR7200_Channel[i].size(); j++){
304 fSTR7200_Channel[i][j].Ratio(v1->fSTR7200_Channel[i][j],v2->fSTR7200_Channel[i][j]);
305 }
306 }
307 }
308 return;
309}

References Compare(), fSTR7200_Channel, QwMollerDetector(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ Scale()

void QwMollerDetector::Scale ( Double_t factor)
overridevirtual

Implements VQwSubsystemParity.

Definition at line 311 of file QwMollerDetector.cc.

311 {
312 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
313 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
314 fSTR7200_Channel[i][j].Scale(factor);
315 }
316 }
317}

References fSTR7200_Channel.

◆ SingleEventCuts()

Bool_t QwMollerDetector::SingleEventCuts ( )

References VQwSubsystem::ConstructHistograms(), and VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

◆ UpdateErrorFlag()

void QwMollerDetector::UpdateErrorFlag ( const VQwSubsystem * ev_error)
inlineoverridevirtual

update the error flag in the subsystem level from the top level routines related to stability checks. This will uniquely update the errorflag at each channel based on the error flag in the corresponding channel in the ev_error subsystem

Implements VQwSubsystemParity.

Definition at line 131 of file QwMollerDetector.h.

131 {
132 };

References VQwSubsystem::VQwSubsystem().

+ Here is the call graph for this function:

Field Documentation

◆ bDEBUG

const Bool_t QwMollerDetector::bDEBUG = kFALSE
staticprivate

Definition at line 170 of file QwMollerDetector.h.

Referenced by ApplySingleEventCuts().

◆ fMollerChannelID

std::vector<QwMollerChannelID> QwMollerDetector::fMollerChannelID
protected

Definition at line 162 of file QwMollerDetector.h.

Referenced by GetChannelIndex(), LoadChannelMap(), print(), and ProcessEvBuffer().

◆ fNumberOfEvents

UInt_t QwMollerDetector::fNumberOfEvents
private

Definition at line 171 of file QwMollerDetector.h.

◆ fPrevious_STR7200_Channel

std::vector< std::vector<QwSTR7200_Channel> > QwMollerDetector::fPrevious_STR7200_Channel
protected

Definition at line 166 of file QwMollerDetector.h.

Referenced by LoadChannelMap(), and ProcessEvent().

◆ fQwMollerErrorCount

Int_t QwMollerDetector::fQwMollerErrorCount
private

Definition at line 169 of file QwMollerDetector.h.

Referenced by PrintErrorCounters().

◆ fSTR7200_Channel


The documentation for this class was generated from the following files: