CDF II
CDF KITS
source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Architecture: i386 ]
Version: 4.10.4 ] [ 4.10.5 ] [ 4.8.4 ] [ 4.8.4l3s ] [ 4.8.5 ] [ 4.9.0 ] [ 4.9.1 ] [ 4.9.1.hpt3 ] [ 4.9.1hpt3 ] [ 4.9.1top1 ] [ 5.0.0 ] [ 5.1.0 ] [ 5.1.0beamonly ] [ 5.1.1 ] [ 5.2.0 ] [ 5.3.0 ] [ 5.3.1 ] [ 5.3.1dsp ] [ 5.3.3 ] [ 5.3.3_nt ] [ 5.3.4 ] [ 6.1.1 ] [ 6.1.1b ] [ 6.1.2 ] [ 6.1.3 ] [ 6.1.4 ] [ 6.1.4int3 ] [ 6.1.4mc ] [ 6.1.4mc_a ] [ 6.1.6 ] [ development ]

001 //--------------------------------------------------------------------------
002 // File and Version Information:
003 //      $Id: cdfSim.cc,v 1.40 2004/11/23 16:01:14 syjun Exp $
004 //
005 // Description:
006 //      Class AppUserBuild. This class must be provided by the user of
007 //      the framework in order to build an application. It must define
008 //      the modules that are to form the basis of the application.
009 //
010 // Environment:
011 //      Software developed for the CDF Detector
012 //
013 // Revision history:
014 //      03/27/2001 Include Bgenerator and GenTrig tools (Ch.Paus)
015 //
016 //------------------------------------------------------------------------
017 
018 //----- f r a m e w o r k  &  f r a m e  m o d s --
019 #include "Framework/APPUserBuild.hh"
020 #include "FrameMods/addCDFrequiredModules.hh"
021 #include "FrameMods/root/HepRootManager.hh"
022 
023 #include "TofAlgs/Modules/TofManager.hh"
024 //------r a n d o m  n u m b e r  g e n e r a t o r s 
025 #include "r_n/RandomModule.hh"
026 
027 //----- s i m u l a t i o n -----------------------
028 #include "SimulationMods/SimInitManager.hh"
029 #include "SimulationMods/SimulationControl.hh"
030 #include "SimulationBase/FactoryMacros.hh"
031 #include "SimulationMods/SimValModule.hh"
032 
033 //----- g e n e r a t o r s -----------------------
034 #include "generatorMods/HadScatGenSequence.hh"
035 #include "generatorMods/DecayPackageSequence.hh"
036 #include "GenTrig/GenTrigSequence.hh"
037 #include "generatorMods/MinBiasSequence.hh"
038 #include "generatorMods/GenOutputManager.hh"
039 #include "generatorMods/GenInputManager.hh"
040 #include "generatorMods/GenPrimVertModule.hh"
041 
042 //----- t r a c k i n g ---------------------------
043 #include "TrackingMods/SiClusteringModule.hh"
044 
045 //------ q u i c k s i m --------------------------
046 #include "QuickSim/Objects/addSimpleCotObjects.hh"
047 #include "QuickSim/Simulation/SimpleCotDigitizer.hh"
048 #include "QuickSim/Reconstruction/SimpleCotTrkReco.hh"
049 #include "QuickSim/Objects/addSimpleSiObjects.hh"
050 #include "QuickSim/Simulation/SimpleSiDigitizer.hh"
051 #include "QuickSim/Reconstruction/SimpleSiTrkReco.hh"
052 
053 //------ c o m p r e s s i o n------------
054 #include "PADSMods/PadRawModule.hh"
055 //-----------------------------------------------------------------------
056 // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
057 //-----------------------------------------------------------------------
058 
059 ////////////////////////////////////////////////////////////////////////
060 // We need to make a class to hold the registry declarations.  As a
061 // kludge for now, we will just add the SIM_REGISTRY_DECL for each 
062 // digitizer class here.
063 //
064 ////////////////////////////////////////////////////////////////////////
065 namespace cot
066 {
067    SIM_REGISTRY_DECL(CotDigitizer);
068 }
069 namespace svx
070 {
071    SIM_REGISTRY_DECL(SvxDigitizer);
072 }
073 namespace muon
074 {  // as defined in MuonDigi.cc
075         SIM_REGISTRY_DECL(MuonDigiCMU);
076         SIM_REGISTRY_DECL(MuonDigiCMP);
077         SIM_REGISTRY_DECL(MuonDigiCMX);
078         SIM_REGISTRY_DECL(MuonDigiCSX);
079         SIM_REGISTRY_DECL(ImuDigiBMUGas);
080         SIM_REGISTRY_DECL(ImuDigiBSUPaddle);
081         SIM_REGISTRY_DECL(ImuDigiTSUPaddle);
082 }
083 
084 namespace tof
085 {
086         SIM_REGISTRY_DECL(TofDigi3Pack);
087         SIM_REGISTRY_DECL(TofDigiBar);
088 }
089 namespace calor
090 {
091         SIM_REGISTRY_DECL(CalorDigiCcal);
092         SIM_REGISTRY_DECL(CalorDigiWcal);
093         SIM_REGISTRY_DECL(CalorDigiPcal);
094         SIM_REGISTRY_DECL(CalorDigiGeneric);
095         SIM_REGISTRY_DECL(CalorDigiBFCoil);
096         SIM_REGISTRY_DECL(CalorDigiNoBFCoil);   
097 }
098 namespace clc
099 {
100   SIM_REGISTRY_DECL(ClcDigitizer);
101 }      
102 
103 namespace simplesi
104 {
105   SIM_REGISTRY_DECL(SimpleSiDigitizer);
106 }
107 namespace simplecot
108 {
109   SIM_REGISTRY_DECL(SimpleCotDigitizer);
110 }
111  
112 static const char rcsid[] = "$Id: cdfSim.cc,v 1.40 2004/11/23 16:01:14 syjun Exp $";
113 
114 //----------------
115 // Constructors --
116 //----------------
117 
118 AppUserBuild::AppUserBuild( AppFramework* theFramework )
119     : AppBuild( theFramework )
120 {
121   AppModule* aMod;
122   APPSequence* aSeq;
123 
124   //----- f r a m e m o d s ----------------
125   addCDFrequiredModules( this );
126   aMod = TofManager::getInstance(); add(aMod); aMod->setEnabled(false);
127 
128   //-----  f r a m e m o d s - HepRootManager ---
129   // HepRootManager should be before filter module
130   aMod = new HepRootManager(); add(aMod); aMod->setEnabled(false);
131 
132   //------r a n d o m  n u m b e r  g e n e r a t o r s 
133   aMod = new RandomModule("RandomGenManager", "Random number generators manager");
134   add(aMod); aMod->setEnabled(true);  
135   
136   //----- g e n e r a t o r s --------------
137   //gen input manager - input module
138   add( new GenInputManager() );
139 
140   // Had. Scat. generators
141   aSeq = new HardScatGenSequence();
142   add( aSeq );
143 
144   // Decay Packages
145   aSeq = new DecayPackageSequence();
146   add( aSeq );
147 
148   // generator output manager:
149   // writes HEPG bank from HEPEVT commonblock;
150   // checks that only one generator (I) is enabled.
151   
152   aMod = new GenOutputManager();
153   add( aMod );
154   aMod->setEnabled(true);
155 
156   // currently writes HEPG by its own since MI does not work
157   // placed AFTER GenOutputManager for the same reason
158   aSeq = new MinBiasSequence();
159   add( aSeq );
160 
161   aMod = new GenPrimVertModule(); add(aMod); aMod->setEnabled(true);
162 
163   // Generator filters
164   aSeq = new GenTrigSequence();
165   add( aSeq );
166 
167   //----- s i m u l a t i o n ---------------
168   add(new SimInitManager());  
169   add(new sim::SimulationControl());
170 
171   //------ v a l i d a t i o n ______________
172   aMod = new SimValModule(); add(aMod); aMod->setEnabled(false);
173 
174   //------ q u i c k s i m ------------------
175   // Reconstruction
176   aMod = new SimpleCotTrkReco();  add(aMod); aMod->setEnabled(false);
177   aMod = new SimpleSiTrkReco();   add(aMod); aMod->setEnabled(false);
178 
179   //----- t r a c k i n g -------------------  
180   // Add some modules so that sim can be reconstructed
181   aMod = new SiClusteringModule(); add(aMod); aMod->setEnabled(false);
182 
183   //----- c o m p r e s s i o n -------------
184   aMod = new CotqModule(); add(aMod); aMod->setEnabled(true);
185   aMod = new SvxqModule(); add(aMod); aMod->setEnabled(true);
186 }
187 
188 //--------------
189 // Destructor --
190 //--------------
191 
192 AppUserBuild::~AppUserBuild( )
193 {
194 }
195 const char * AppUserBuild::rcsId( ) const
196 {
197    return rcsid;
198 }

source navigation ] diff markup ] identifier search ] freetext search ] file search ]

This page was automatically generated by the LXR engine.
The LXR team
Valid HTML 4.01!

Send problems or questions to cdfcode@fnal.gov