Line data Source code
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 18 : ClassImp(AliMUONDDLTrigger)
36 : /// \endcond
37 :
38 :
39 : //___________________________________________
40 : AliMUONDDLTrigger::AliMUONDDLTrigger(TRootIOCtor* /*dummy*/)
41 0 : : TObject(),
42 0 : fDarcHeader(0x0)
43 0 : {
44 : ///ctor
45 0 : }
46 :
47 : //___________________________________________
48 : AliMUONDDLTrigger::AliMUONDDLTrigger()
49 0 : : TObject(),
50 0 : fDarcHeader(new AliMUONDarcHeader())
51 0 : {
52 :
53 : ///ctor
54 :
55 0 : }
56 :
57 : //___________________________________________
58 : AliMUONDDLTrigger::~AliMUONDDLTrigger()
59 0 : {
60 : ///dtor
61 0 : delete fDarcHeader;
62 :
63 0 : }
64 :
65 : //___________________________________________
66 : void AliMUONDDLTrigger::AddRegHeader(const AliMUONRegHeader& regHeader)
67 : {
68 : /// adding regional header informations
69 : /// in the given TClonesArray
70 : ///
71 0 : TClonesArray* regHeaderArray = (TClonesArray*)fDarcHeader->GetRegHeaderArray();
72 :
73 : TClonesArray &eventArray = *regHeaderArray;
74 0 : new(eventArray[eventArray.GetEntriesFast()]) AliMUONRegHeader(regHeader);
75 0 : }
76 :
77 : //___________________________________________
78 : void AliMUONDDLTrigger::AddLocStruct(const AliMUONLocalStruct& loc, Int_t iReg)
79 : {
80 : /// adding local card informations
81 : /// for a given regional structure
82 : /// using TClonesArrays
83 :
84 0 : AliMUONRegHeader* regHeader = (AliMUONRegHeader*)fDarcHeader->GetRegHeaderEntry(iReg);
85 :
86 0 : TClonesArray* localArray = (TClonesArray*)regHeader->GetLocalArray();
87 :
88 : TClonesArray &locArray = *localArray;
89 0 : new(locArray[locArray.GetEntriesFast()]) AliMUONLocalStruct(loc);
90 0 : }
|