- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / AliMUONDDLTrigger.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 #include <TClonesArray.h>
19
20 #include "AliMUONDDLTrigger.h"
21 #include "AliMUONLocalStruct.h"
22 #include "AliMUONRegHeader.h"
23 #include "AliMUONDarcHeader.h"
24
25
26 //-----------------------------------------------------------------------------
27 /// \class AliMUONDDLTrigger
28 ///
29 /// One DDL for trigger part of the MUON spectrometer.
30 /// 
31 /// \author C. Finck
32 //-----------------------------------------------------------------------------
33
34 /// \cond CLASSIMP
35 ClassImp(AliMUONDDLTrigger)
36 /// \endcond
37
38 //___________________________________________
39 AliMUONDDLTrigger::AliMUONDDLTrigger()
40   :  TObject(),
41      fDarcHeader(new AliMUONDarcHeader())
42 {
43  
44   ///ctor
45  
46 }
47
48 //___________________________________________
49 AliMUONDDLTrigger::~AliMUONDDLTrigger()
50 {
51   ///dtor
52   delete fDarcHeader;
53
54 }
55
56 //___________________________________________
57 void AliMUONDDLTrigger::AddRegHeader(const AliMUONRegHeader& regHeader)
58 {
59   /// adding regional header informations 
60   /// in the given TClonesArray
61   ///
62   TClonesArray* regHeaderArray = (TClonesArray*)fDarcHeader->GetRegHeaderArray();
63
64   TClonesArray &eventArray = *regHeaderArray;
65   new(eventArray[eventArray.GetEntriesFast()]) AliMUONRegHeader(regHeader);
66 }
67
68 //___________________________________________
69 void AliMUONDDLTrigger::AddLocStruct(const AliMUONLocalStruct& loc, Int_t iReg)
70 {
71   /// adding local card informations 
72   /// for a given regional structure
73   /// using TClonesArrays
74
75   AliMUONRegHeader* regHeader = (AliMUONRegHeader*)fDarcHeader->GetRegHeaderEntry(iReg);
76
77   TClonesArray* localArray = (TClonesArray*)regHeader->GetLocalArray();
78
79   TClonesArray &locArray = *localArray;
80   new(locArray[locArray.GetEntriesFast()]) AliMUONLocalStruct(loc);
81 }