Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CalDetPIDModule Class Reference

#include <CalDetPIDModule.h>

Inheritance diagram for CalDetPIDModule:

JobCModule List of all members.

Public Member Functions

 CalDetPIDModule ()
 ~CalDetPIDModule ()
void BeginJob ()
JobCResult Reco (MomNavigator *mom)
void HandleCommand (JobCommand *command)
void Help ()

Private Attributes

Float_t fBeamMomentum
Float_t fCkCollectionEfficiency
Float_t fCkDetectorEfficiency
Float_t fCkLength
Int_t fFirstTOFPaddle
Int_t fCkPedestal
Float_t fCkPressure
Float_t fMassSq
Int_t fSecondTOFPaddle
Int_t fTDCPedestal1
Int_t fTDCPedestal2
Float_t fTDCGain1
Float_t fTDCGain2
Float_t fTOFSeparation

Constructor & Destructor Documentation

CalDetPIDModule::CalDetPIDModule  ) 
 

Definition at line 35 of file CalDetPIDModule.cxx.

References MSG.

00035                                  :
00036   fBeamMomentum(1.0),
00037   fCkCollectionEfficiency(0.5),
00038   fCkDetectorEfficiency(0.27), //from pdg 2001
00039   fCkLength(6.0),
00040   fCkPedestal(0),
00041   fMassSq(-1.),
00042   fTDCPedestal1(0),
00043   fTDCPedestal2(0),
00044   fTDCGain1(0.1),
00045   fTDCGain2(0.1),
00046   fTOFSeparation(11.0)
00047 {
00048 
00049   MSG("CalDPID", Msg::kDebug) << "CalDetPIDModule::Constructor" << endl;
00050 
00051 }

CalDetPIDModule::~CalDetPIDModule  ) 
 

Definition at line 54 of file CalDetPIDModule.cxx.

References MSG.

00055 {
00056 
00057   MSG("CalDPID", Msg::kInfo) << "CalDetPIDModule::Destructor" << endl;
00058 
00059 }


Member Function Documentation

void CalDetPIDModule::BeginJob  )  [virtual]
 

Implement for notification of begin of job

Reimplemented from JobCModule.

Definition at line 63 of file CalDetPIDModule.cxx.

00064 {
00065   //load in the appropriate root file with histogram here.    
00066   return;
00067 }

void CalDetPIDModule::HandleCommand JobCommand command  )  [virtual]
 

Implement to handle a JobCommand

Reimplemented from JobCModule.

Definition at line 102 of file CalDetPIDModule.cxx.

References fBeamMomentum, fCkCollectionEfficiency, fCkDetectorEfficiency, fCkLength, fCkPedestal, fCkPressure, fFirstTOFPaddle, fSecondTOFPaddle, fTDCGain1, fTDCGain2, fTDCPedestal1, fTDCPedestal2, fTOFSeparation, MSG, JobCommand::PopCmd(), JobCommand::PopFloatOpt(), JobCommand::PopIntOpt(), and JobCommand::PopOpt().

00103 {
00104   //
00105   //  Purpose:  Method to interpret module commands.
00106   //
00107   //  Arguments:
00108   //    command   in    Command to interpret.
00109   //
00110   //  Return:   n/a
00111   //
00112   //  Commands implemented:
00113   //    Set TOFSeparation  Set the separation to use for tof in meters.
00114   //    Set CerenkovPressure    Set the pressure of the cerenkov detector in bar.
00115   //    Set CerenkovPedestal     Set the pedestal value for cerenkov adc.
00116   //    Set CerenkovCollectionEfficiency  Set the collection efficiency of the cerenkov detector.
00117   //    Set CerenkovDetectorEfficiency  Set the integrated efficiency of the cerenkov detector.
00118   //    Set CerenkovLength      Set the length of the cerenkov detector in meters.
00119   //    Set BeamMomentum   Set the momentum of the beam, enter in GeV/c
00120   //    Set TDCPedestal Set the pedestal value for the TDC
00121   //    Set TDCGain  Set the gain for the TDC
00122   //    Set FirstTOFPaddle  Set which paddle is the first one used for tof info
00123   //    Set SecondTOFPaddel Set which paddle is the second one used for tof info
00124   //
00125 
00126    MSG("CalDPID", Msg::kDebug) << "CalDetPIDModule::HandleCommand" << endl;
00127 
00128    TString cmd = command->PopCmd();
00129    if(cmd == "Set"){   
00130      TString opt = command->PopOpt();
00131      if(opt == "TOFSeparation"){ fTOFSeparation = command->PopFloatOpt();}
00132      else if(opt == "CerenkovPressure"){ fCkPressure = command->PopFloatOpt();}
00133      else if (opt == "CerenkovPedestal"){ fCkPedestal = command->PopIntOpt();}
00134      else if (opt == "CerenkovCollectionEfficiency"){fCkCollectionEfficiency = command->PopFloatOpt();}
00135      else if (opt == "CerenkovDetectorEfficiency"){ fCkDetectorEfficiency = command->PopFloatOpt();}
00136      else if (opt == "CerenkovLength"){ fCkLength = command->PopFloatOpt();}
00137      else if (opt == "BeamMomentum"){ fBeamMomentum = command->PopFloatOpt();}
00138      else if (opt == "TDCPedestal1"){ fTDCPedestal1 = command->PopIntOpt();}
00139      else if (opt == "TDCGain1"){ fTDCGain1 = command->PopFloatOpt();}
00140      else if (opt == "TDCPedestal2"){ fTDCPedestal2 = command->PopIntOpt();}
00141      else if (opt == "TDCGain2"){ fTDCGain2 = command->PopFloatOpt();}
00142      else if (opt == "FirstTOFPaddle"){ fFirstTOFPaddle = command->PopIntOpt();}
00143      else if (opt == "SecondTOFPaddle"){ fSecondTOFPaddle = command->PopIntOpt();}
00144      else {
00145          MSG("CalDPID", Msg::kWarning)<< "CalDetPIDModule: Unrecognized option " << opt << endl;
00146       }
00147    }
00148    else {
00149      MSG("CalDPID", Msg::kWarning) << 
00150        "CalDetPIDModule: Unrecognized command " << cmd << endl;
00151    }
00152 }

void CalDetPIDModule::Help  )  [virtual]
 

Implement to spew some useful help to cout

Reimplemented from JobCModule.

Definition at line 156 of file CalDetPIDModule.cxx.

References MSG.

00157 {
00158   MSG("CalDPID", Msg::kInfo) 
00159     << "CalDetPIDModule::Help\n"
00160     <<"CalDetPIDModule is a module which identifies particles "
00161     <<"in the CalDet."
00162     << endl
00163     << "Commands implemented:"
00164     << "Set TOFSeparation  Set the separation to use for tof in meters."
00165     << "Set CerenkovPressure    Set the pressure of the cerenkov detector in bar."
00166     << "Set CerenkovPedestal     Set the pedestal value for cerenkov adc."
00167     << "Set CerenkovCollectionEfficiency  Set the collection efficiency of the cerenkov detector."
00168     << "Set CerenkovDetectorEfficiency  Set the integrated efficiency of the cerenkov detector."
00169     << "Set CerenkovLength      Set the length of the cerenkov detector in meters."
00170     << "Set BeamMomentum   Set the momentum of the beam, enter in GeV/c"
00171     << "Set TDCPedestal Set the pedestal value for the TDC"
00172     << "Set TDCGain  Set the gain for the TDC, in units of ns/tdc"
00173     << "Set FirstTOFPaddle  Set which paddle is the first one used for tof info"
00174     << "Set SecondTOFPaddel Set which paddle is the second one used for tof info"
00175     << endl;
00176 
00177   
00178 }

JobCResult CalDetPIDModule::Reco MomNavigator mom  )  [virtual]
 

Implement this for read-write access to the MomNavigator

Reimplemented from JobCModule.

Definition at line 71 of file CalDetPIDModule.cxx.

References fBeamMomentum, fFirstTOFPaddle, fMassSq, fSecondTOFPaddle, fTDCGain1, fTDCGain2, fTDCPedestal1, fTDCPedestal2, fTOFSeparation, CalDetTOFId::GetParticleMassSquared(), and MSG.

00072 {
00073   MSG("CalDPID", Msg::kDebug) << "CalDetPIDModule::Reco\n";
00074 
00075   // Check that mom exists.
00076   assert(mom);
00077 
00078   //find the Raw record fragment in MOM - to be added.
00079   
00080   //get the raw tof digit
00081   RawTOFDigit rtofd;
00082 
00083   //instantiate the CandTOFId and CandCerenkovId objects
00084   CalDetTOFId tof = CalDetTOFId(fTOFSeparation, 
00085                                 fTDCGain1, 
00086                                 fTDCGain2, 
00087                                 fTDCPedestal1, 
00088                                 fTDCPedestal2, 
00089                                 fFirstTOFPaddle, 
00090                                 fSecondTOFPaddle, 
00091                                 rtofd);
00092   //CalDetCerenkovId ck = CalDetCerenkovId(rcd);
00093 
00094   //Get the Mass Squared value
00095   fMassSq = tof.GetParticleMassSquared(fBeamMomentum);
00096 
00097   return JobCResult::kAOK; // All OK...
00098 }


Member Data Documentation

Float_t CalDetPIDModule::fBeamMomentum [private]
 

Definition at line 37 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Float_t CalDetPIDModule::fCkCollectionEfficiency [private]
 

Definition at line 38 of file CalDetPIDModule.h.

Referenced by HandleCommand().

Float_t CalDetPIDModule::fCkDetectorEfficiency [private]
 

Definition at line 39 of file CalDetPIDModule.h.

Referenced by HandleCommand().

Float_t CalDetPIDModule::fCkLength [private]
 

Definition at line 40 of file CalDetPIDModule.h.

Referenced by HandleCommand().

Int_t CalDetPIDModule::fCkPedestal [private]
 

Definition at line 42 of file CalDetPIDModule.h.

Referenced by HandleCommand().

Float_t CalDetPIDModule::fCkPressure [private]
 

Definition at line 43 of file CalDetPIDModule.h.

Referenced by HandleCommand().

Int_t CalDetPIDModule::fFirstTOFPaddle [private]
 

Definition at line 41 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Float_t CalDetPIDModule::fMassSq [private]
 

Definition at line 44 of file CalDetPIDModule.h.

Referenced by Reco().

Int_t CalDetPIDModule::fSecondTOFPaddle [private]
 

Definition at line 45 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Float_t CalDetPIDModule::fTDCGain1 [private]
 

Definition at line 48 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Float_t CalDetPIDModule::fTDCGain2 [private]
 

Definition at line 49 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Int_t CalDetPIDModule::fTDCPedestal1 [private]
 

Definition at line 46 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Int_t CalDetPIDModule::fTDCPedestal2 [private]
 

Definition at line 47 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().

Float_t CalDetPIDModule::fTOFSeparation [private]
 

Definition at line 50 of file CalDetPIDModule.h.

Referenced by HandleCommand(), and Reco().


The documentation for this class was generated from the following files:
Generated on Fri Mar 28 15:55:41 2008 for loon by  doxygen 1.3.9.1