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 322 of file QwMollerDetector.cc.

322 {
323 if (Compare(value)) {
324 QwMollerDetector* v = dynamic_cast<QwMollerDetector*>(value);
325
326 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
327 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
328 fSTR7200_Channel[i][j].AccumulateRunningSum(v->fSTR7200_Channel[i][j], count, ErrorMask);
329 }
330 }
331
332 }
333}
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 345 of file QwMollerDetector.cc.

345 {
346 std::cout << "QwMoller::ApplySingleEventCuts() ";
347 Bool_t test = kTRUE, test_1 = kTRUE;
348
349 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
350 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
351 test_1 = fSTR7200_Channel[i][j].ApplySingleEventCuts();
352 test &= test_1;
353 if(!test_1 && bDEBUG){
354 std::cout << "***** QwMoller::SingleEventCuts()->Channel[" << i << "][" << j << "]:" << fSTR7200_Channel[i][j].GetElementName() << std::endl;
355 }
356 }
357 }
358 return test;
359}
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 335 of file QwMollerDetector.cc.

335 {
336 for (size_t i = 0; i < fSTR7200_Channel.size(); i++){
337 for (size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
338 fSTR7200_Channel[i][j].CalculateRunningAverage();
339 }
340 }
341}

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 135 of file QwMollerDetector.cc.

135{}

◆ Compare()

Bool_t QwMollerDetector::Compare ( VQwSubsystem * source)

Definition at line 423 of file QwMollerDetector.cc.

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

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 223 of file QwMollerDetector.cc.

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

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 207 of file QwMollerDetector.cc.

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

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 215 of file QwMollerDetector.cc.

215 {
216 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
217 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
218 fSTR7200_Channel[i][j].FillHistograms();
219 }
220 }
221}

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 231 of file QwMollerDetector.cc.

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

References fSTR7200_Channel.

◆ GetChannelIndex()

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

Definition at line 398 of file QwMollerDetector.cc.

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

372 {
373 return 0;
374}

◆ GetRawChannelArray()

float * QwMollerDetector::GetRawChannelArray ( )

Definition at line 376 of file QwMollerDetector.cc.

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

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 39 of file QwMollerDetector.cc.

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

343{return 0;}

◆ LoadInputParameters()

Int_t QwMollerDetector::LoadInputParameters ( TString mapfile)
overridevirtual

Mandatory parameter file definition.

Implements VQwSubsystem.

Definition at line 134 of file QwMollerDetector.cc.

134{ return 0;}

◆ operator+=()

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

Implements VQwSubsystemParity.

Definition at line 273 of file QwMollerDetector.cc.

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

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 287 of file QwMollerDetector.cc.

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

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 259 of file QwMollerDetector.cc.

259 {
260 // std::cout << "QwMollerDetector assignment (operator=)" << std::endl;
261 if(this != value && Compare(value)){
262 //VQwSubsystem::operator=(value);
263 QwMollerDetector* input = dynamic_cast<QwMollerDetector *> (value);
264 for(size_t i = 0; i < input->fSTR7200_Channel.size(); i++){
265 for(size_t j = 0; j < input->fSTR7200_Channel[i].size(); j++){
266 this->fSTR7200_Channel[i][j] = input->fSTR7200_Channel[i][j];
267 }
268 }
269 }
270 return *this;
271}

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

+ Here is the call graph for this function:

◆ print()

void QwMollerDetector::print ( )

Definition at line 449 of file QwMollerDetector.cc.

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

References fMollerChannelID, and fSTR7200_Channel.

◆ PrintErrorCounters()

void QwMollerDetector::PrintErrorCounters ( ) const
overridevirtual

Implements VQwSubsystemParity.

Definition at line 361 of file QwMollerDetector.cc.

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

References fQwMollerErrorCount, and fSTR7200_Channel.

◆ PrintValue()

void QwMollerDetector::PrintValue ( ) const
overridevirtual

Print values of all channels.

Reimplemented from VQwSubsystemParity.

Definition at line 475 of file QwMollerDetector.cc.

475 {
476 for(size_t i = 0; i < fSTR7200_Channel.size(); i++){
477 for(size_t j = 0; j < fSTR7200_Channel[i].size(); j++){
478 fSTR7200_Channel[i][j].PrintValue();
479 }
480 }
481}

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 138 of file QwMollerDetector.cc.

139{
140 return 0;
141}

◆ 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 143 of file QwMollerDetector.cc.

144{
145 return 0;
146}

◆ 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 153 of file QwMollerDetector.cc.

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

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 148 of file QwMollerDetector.cc.

149{
150 return ProcessEvBuffer(roc_id, bank_id, buffer, num_words);
151}
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 190 of file QwMollerDetector.cc.

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

References fPrevious_STR7200_Channel, and fSTR7200_Channel.

◆ ProcessOptions()

void QwMollerDetector::ProcessOptions ( QwOptions & )
overridevirtual

Process the command line options.

Reimplemented from VQwSubsystem.

Definition at line 133 of file QwMollerDetector.cc.

133{}

◆ Ratio()

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

Implements VQwSubsystemParity.

Definition at line 300 of file QwMollerDetector.cc.

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

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 314 of file QwMollerDetector.cc.

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

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: