]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSt1ResponseRule.cxx
Transition to NewIO
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1ResponseRule.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15  
16 /* $Id$ */
17
18 // Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
19 //
20 // Class AliMUONSt1ResponseRule
21 // -----------------------------
22 // Describes a response rule.
23 // A "rule" is defined as being a set of electronic filters to be applied 
24 // (ie. a set of AliMUONSt1ResponseParameter) and a set of cathode pads to 
25 // which these filters should be applied (set of AliMUONSt1ElectronicElement)
26
27 #include "AliMUONSt1ResponseRule.h"
28 #include "AliMUONSt1ElectronicElement.h"
29 #include "AliMUONSt1ResponseParameter.h"
30
31 ClassImp(AliMUONSt1ResponseRule);
32
33 //__________________________________________________________________________
34 AliMUONSt1ResponseRule::AliMUONSt1ResponseRule()
35   : TObject(),
36     fElementList(),
37     fParameters()
38 {
39 // default constructor
40 }
41
42 //__________________________________________________________________________
43 AliMUONSt1ResponseRule::~AliMUONSt1ResponseRule()
44 {
45 // destructor
46 }
47
48 //__________________________________________________________________________
49 void AliMUONSt1ResponseRule::AddElement(AliMUONSt1ElectronicElement* element)
50 {
51 // Add an electronic element to the list
52 // ---
53
54   fElementList.Add(element);
55 }
56
57 //__________________________________________________________________________
58 void AliMUONSt1ResponseRule::AddParameter(AliMUONSt1ResponseParameter* param)
59 {
60 // Add an electronics parameter for this rule
61 // ---
62
63   fParameters.Add(param);
64 }
65
66 //__________________________________________________________________________
67 Bool_t AliMUONSt1ResponseRule::Contains(const AliMpPad& pad) const
68 {
69 // Is this pad is contained in this rule's list
70 // ---
71
72   TIter next(&fElementList);
73   AliMUONSt1ElectronicElement* el;
74   while ((el = static_cast<AliMUONSt1ElectronicElement*>(next()))){
75     if (el->Contains(pad)) return kTRUE;
76   }
77   return kFALSE;
78 }